MCPcopy Create free account
hub / github.com/dds-bridge/dds / GetNextArgToken

Function GetNextArgToken

library/tests/args.cpp:111–155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

109char * optarg;
110
111int GetNextArgToken(
112 int argc,
113 char * argv[])
114{
115 // 0 means done, -1 means error.
116
117 if (nextToken >= argc)
118 return 0;
119
120 string str(argv[nextToken]);
121 if (str[0] != '-' || str.size() == 1)
122 return -1;
123
124 if (str[1] == '-')
125 {
126 if (str.size() == 2)
127 return -1;
128 str.erase(0, 2);
129 }
130 else if (str.size() == 2)
131 str.erase(0, 1);
132 else
133 return -1;
134
135 for (unsigned i = 0; i < DTEST_NUM_OPTIONS; i++)
136 {
137 if (str == optList[i].shortName || str == optList[i].longName)
138 {
139 if (optList[i].numArgs == 1)
140 {
141 if (nextToken+1 >= argc)
142 return -1;
143
144 optarg = argv[nextToken+1];
145 nextToken += 2;
146 }
147 else
148 nextToken++;
149
150 return str[0];
151 }
152 }
153
154 return -1;
155}
156
157
158void SetDefaults()

Callers 1

read_argsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected