File: | src/ocsptool-gaa.c |
Location: | line 727, column 3 |
Description: | Value stored to 'gaa_index' is never read |
1 | /* File generated by GAA 1.6.6 |
2 | */ |
3 | #define GAA_NO_WIN32 |
4 | #line 1 "ocsptool.gaa" |
5 | |
6 | |
7 | /* C declarations */ |
8 | |
9 | #include <config.h> |
10 | #ifdef _WIN32 |
11 | # include <io.h> |
12 | #endif |
13 | |
14 | #include "ocsptool-common.h" |
15 | |
16 | #include <stdio.h> |
17 | #include <string.h> |
18 | #include <stdlib.h> |
19 | |
20 | #ifndef GAA_NO_WIN32 |
21 | #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(WINDOWS) |
22 | #define GAA_WIN32 |
23 | #endif |
24 | #endif |
25 | |
26 | static void* gaa_malloc( size_t size) { |
27 | void* ret; |
28 | ret = malloc(size); |
29 | if (ret==NULL((void*)0)) { |
30 | fprintf(stderrstderr, "gaa: could not allocate memory"); |
31 | exit(1); |
32 | } |
33 | return ret; |
34 | } |
35 | |
36 | static void __gaa_helpsingle(char short_name, char *name, |
37 | char *arg_desc, char *opt_help) |
38 | { |
39 | int col1, col3, col4, tabsize = 3, curr; |
40 | int i; |
41 | |
42 | col1 = 5; /* Default values */ |
43 | col3 = 30; |
44 | col4 = 70; |
45 | |
46 | curr = 0; |
47 | for(i = 0; i < col1; i++) |
48 | { |
49 | printf(" "); |
50 | curr++; |
51 | } |
52 | if(short_name) |
53 | { |
54 | if(name && *name) |
55 | { |
56 | printf("-%c, ", short_name); |
57 | curr += 4; |
58 | } |
59 | else |
60 | { |
61 | printf("-%c ", short_name); |
62 | curr += 3; |
63 | } |
64 | } |
65 | if(name && *name) |
66 | { |
67 | printf("--%s ", name); |
68 | curr += 3 + strlen(name); |
69 | } |
70 | if(arg_desc && *arg_desc) |
71 | { |
72 | printf("%s ", arg_desc); |
73 | curr += 1 + strlen(arg_desc); |
74 | } |
75 | if(curr >= col3) |
76 | { |
77 | printf("\n"); |
78 | curr = 0; |
79 | } |
80 | if(opt_help) /* let's print the option's help body */ |
81 | { |
82 | const char *str = opt_help; |
83 | while(*str) |
84 | { |
85 | while(curr < col3) |
86 | { |
87 | printf(" "); |
88 | curr++; |
89 | } |
90 | switch(*str) |
91 | { |
92 | case '\n': |
93 | printf("\n"); |
94 | curr = 0; |
95 | break; |
96 | case '\t': |
97 | do |
98 | { |
99 | printf(" "); |
100 | curr++; |
101 | } |
102 | while((curr - col3) % tabsize != 0 && curr < col4); |
103 | case ' ': |
104 | if(*str == ' ') |
105 | { |
106 | curr++; |
107 | printf(" "); |
108 | } |
109 | for(i = 1; str[i] && str[i] != ' ' && str[i] != '\n' |
110 | && str[i] != '\t'; i++); |
111 | if(curr + i - 1 >= col4) |
112 | curr = col4; |
113 | break; |
114 | default: |
115 | printf("%c", *str); |
116 | curr++; |
117 | } |
118 | if(curr >= col4) |
119 | { |
120 | printf("\n"); |
121 | curr = 0; |
122 | } |
123 | str++; |
124 | } |
125 | } |
126 | printf("\n"); |
127 | } |
128 | |
129 | void gaa_help(void) |
130 | { |
131 | printf("Ocsptool help\nUsage : ocsptool [options]\n"); |
132 | __gaa_helpsingle('e', "verify-response", "", "Verify response."); |
133 | __gaa_helpsingle('i', "request-info", "", "Print information on a OCSP request."); |
134 | __gaa_helpsingle('j', "response-info", "", "Print information on a OCSP response."); |
135 | __gaa_helpsingle('q', "generate-request", "", "Generate a OCSP request."); |
136 | __gaa_helpsingle(0, "no-nonce", "", "don't add nonce to OCSP request."); |
137 | __gaa_helpsingle(0, "load-issuer", "FILE ", "read issuer certificate from FILE."); |
138 | __gaa_helpsingle(0, "load-cert", "FILE ", "read certificate to check from FILE."); |
139 | __gaa_helpsingle(0, "load-trust", "FILE ", "read OCSP trust anchors from FILE."); |
140 | __gaa_helpsingle(0, "load-signer", "FILE ", "read OCSP response signer from FILE."); |
141 | __gaa_helpsingle(0, "inder", "", "Use DER format for input certificates."); |
142 | __gaa_helpsingle('Q', "load-request", "FILE ", "read DER encoded OCSP request from FILE."); |
143 | __gaa_helpsingle('S', "load-response", "FILE ", "read DER encoded OCSP response from FILE."); |
144 | __gaa_helpsingle(0, "outfile", "FILE ", "Output file."); |
145 | __gaa_helpsingle(0, "infile", "FILE ", "Input file."); |
146 | __gaa_helpsingle('V', "verbose", "", "More verbose output."); |
147 | __gaa_helpsingle('d', "debug", "integer ", "Enable debugging"); |
148 | __gaa_helpsingle('v', "version", "", "prints the program's version number"); |
149 | __gaa_helpsingle('h', "help", "", "shows this help text"); |
150 | |
151 | #line 100 "gaa.skel" |
152 | } |
153 | /* Copy of C area */ |
154 | |
155 | #line 104 "gaa.skel" |
156 | /* GAA HEADER */ |
157 | #ifndef GAA_HEADER_POKY |
158 | #define GAA_HEADER_POKY |
159 | |
160 | typedef struct _gaainfo gaainfo; |
161 | |
162 | struct _gaainfo |
163 | { |
164 | #line 59 "ocsptool.gaa" |
165 | int debug; |
166 | #line 56 "ocsptool.gaa" |
167 | int verbose; |
168 | #line 53 "ocsptool.gaa" |
169 | char *infile; |
170 | #line 50 "ocsptool.gaa" |
171 | char *outfile; |
172 | #line 47 "ocsptool.gaa" |
173 | char *resp; |
174 | #line 44 "ocsptool.gaa" |
175 | char *req; |
176 | #line 41 "ocsptool.gaa" |
177 | int inder; |
178 | #line 38 "ocsptool.gaa" |
179 | char *signer; |
180 | #line 35 "ocsptool.gaa" |
181 | char *trust; |
182 | #line 32 "ocsptool.gaa" |
183 | char *cert; |
184 | #line 29 "ocsptool.gaa" |
185 | char *issuer; |
186 | #line 26 "ocsptool.gaa" |
187 | int nononce; |
188 | #line 16 "ocsptool.gaa" |
189 | int action; |
190 | |
191 | #line 114 "gaa.skel" |
192 | }; |
193 | |
194 | #ifdef __cplusplus |
195 | extern "C" |
196 | { |
197 | #endif |
198 | |
199 | int gaa(int argc, char *argv[], gaainfo *gaaval); |
200 | |
201 | void gaa_help(void); |
202 | |
203 | int gaa_file(const char *name, gaainfo *gaaval); |
204 | |
205 | #ifdef __cplusplus |
206 | } |
207 | #endif |
208 | |
209 | |
210 | #endif |
211 | |
212 | #line 135 "gaa.skel" |
213 | |
214 | /* C declarations */ |
215 | |
216 | #define GAAERROR(x){ gaa_error = 1; return x; } \ |
217 | { \ |
218 | gaa_error = 1; \ |
219 | return x; \ |
220 | } |
221 | |
222 | static char *gaa_current_option; |
223 | static int gaa_error = 0; |
224 | |
225 | /* Generated by gaa */ |
226 | |
227 | #include <string.h> |
228 | #include <stdlib.h> |
229 | |
230 | |
231 | #define GAA_OK-1 -1 |
232 | |
233 | #define GAA_ERROR_NOMATCH0 0 |
234 | #define GAA_ERROR_NOTENOUGH_ARGS1 1 |
235 | #define GAA_ERROR_INVALID_ARG2 2 |
236 | #define GAA_ERROR_UNKNOWN3 3 |
237 | |
238 | #define GAA_NOT_AN_OPTION0 0 |
239 | #define GAA_WORD_OPTION1 1 |
240 | #define GAA_LETTER_OPTION2 2 |
241 | #define GAA_MULTIPLE_OPTION3 3 |
242 | |
243 | #define GAA_REST0 0 |
244 | #define GAA_NB_OPTION18 18 |
245 | #define GAAOPTID_help1 1 |
246 | #define GAAOPTID_version2 2 |
247 | #define GAAOPTID_debug3 3 |
248 | #define GAAOPTID_verbose4 4 |
249 | #define GAAOPTID_infile5 5 |
250 | #define GAAOPTID_outfile6 6 |
251 | #define GAAOPTID_load_response7 7 |
252 | #define GAAOPTID_load_request8 8 |
253 | #define GAAOPTID_inder9 9 |
254 | #define GAAOPTID_load_signer10 10 |
255 | #define GAAOPTID_load_trust11 11 |
256 | #define GAAOPTID_load_cert12 12 |
257 | #define GAAOPTID_load_issuer13 13 |
258 | #define GAAOPTID_no_nonce14 14 |
259 | #define GAAOPTID_generate_request15 15 |
260 | #define GAAOPTID_response_info16 16 |
261 | #define GAAOPTID_request_info17 17 |
262 | #define GAAOPTID_verify_response18 18 |
263 | |
264 | #line 168 "gaa.skel" |
265 | |
266 | #define GAA_CHECK1STR(a,b)if(a[0] == str[0]) { gaa_current_option = a; return b; } \ |
267 | if(a[0] == str[0]) \ |
268 | { \ |
269 | gaa_current_option = a; \ |
270 | return b; \ |
271 | } |
272 | |
273 | #define GAA_CHECKSTR(a,b)if(strcmp(a,str) == 0) { gaa_current_option = a; return b; } \ |
274 | if(strcmp(a,str) == 0) \ |
275 | { \ |
276 | gaa_current_option = a; \ |
277 | return b; \ |
278 | } |
279 | |
280 | #define GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; } \ |
281 | if(!OK) \ |
282 | { \ |
283 | while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) \ |
284 | gaa_index++; \ |
285 | if(gaa_last_non_option == gaa_index) \ |
286 | return GAA_ERROR_NOTENOUGH_ARGS1; \ |
287 | } |
288 | |
289 | #define GAA_TESTMOREOPTIONALARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) OK = 1; } \ |
290 | if(!OK) \ |
291 | { \ |
292 | while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) \ |
293 | gaa_index++; \ |
294 | if(gaa_last_non_option == gaa_index) \ |
295 | OK = 1; \ |
296 | } |
297 | |
298 | #define GAA_FILL_2ARGS(target, func)target = func(GAAargv[gaa_index]); gaa_arg_used[gaa_index] = 1 ; if(gaa_error == 1) { gaa_error = 0; return 2; } \ |
299 | target = func(GAAargv[gaa_index]); \ |
300 | gaa_arg_used[gaa_index] = 1; \ |
301 | if(gaa_error == 1) \ |
302 | { \ |
303 | gaa_error = 0; \ |
304 | return GAA_ERROR_INVALID_ARG2; \ |
305 | } |
306 | |
307 | |
308 | |
309 | #define GAA_FILL(target, func, num)if(!OK) { target = func(GAAargv[gaa_index]); gaa_arg_used[gaa_index ] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } num = 1 ; } else { num = 0; } \ |
310 | if(!OK) \ |
311 | { \ |
312 | target = func(GAAargv[gaa_index]); \ |
313 | gaa_arg_used[gaa_index] = 1; \ |
314 | if(gaa_error == 1) \ |
315 | { \ |
316 | gaa_error = 0; \ |
317 | return GAA_ERROR_INVALID_ARG2; \ |
318 | } \ |
319 | num = 1; \ |
320 | } \ |
321 | else \ |
322 | { \ |
323 | num = 0; \ |
324 | } |
325 | |
326 | #define GAA_LIST_FILL(target, func, type ,num)if(!OK) { num = 0; target = ((void*)0); if ( gaa_last_non_option - gaa_index > 0) target = gaa_malloc((gaa_last_non_option - gaa_index) * sizeof(type));for(; gaa_index < gaa_last_non_option ; gaa_index++) { if(gaa_arg_used[gaa_index] == 0) { target[num ] = func(GAAargv[gaa_index]); gaa_arg_used[gaa_index] = 1; if (gaa_error == 1) { gaa_error = 0; return 2; }; num++; } } if( num == 0) return 1; } \ |
327 | if(!OK) \ |
328 | { \ |
329 | num = 0; \ |
330 | target = NULL((void*)0); \ |
331 | if ( gaa_last_non_option - gaa_index > 0) \ |
332 | target = gaa_malloc((gaa_last_non_option - gaa_index) * sizeof(type));\ |
333 | for(; gaa_index < gaa_last_non_option; gaa_index++) \ |
334 | { \ |
335 | if(gaa_arg_used[gaa_index] == 0) \ |
336 | { \ |
337 | GAA_FILL_2ARGS(target[num], func)target[num] = func(GAAargv[gaa_index]); gaa_arg_used[gaa_index ] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; }; \ |
338 | num++; \ |
339 | } \ |
340 | } \ |
341 | if(num == 0) \ |
342 | return GAA_ERROR_NOTENOUGH_ARGS1; \ |
343 | } |
344 | |
345 | #define GAA_OPTIONALLIST_FILL(target, func, type ,num)if(!OK) { num = 0; target = ((void*)0); if ( gaa_last_non_option - gaa_index > 0) target = gaa_malloc((gaa_last_non_option - gaa_index) * sizeof(type));for(; gaa_index < gaa_last_non_option ; gaa_index++) { if(gaa_arg_used[gaa_index] == 0) { target[num ] = func(GAAargv[gaa_index]); gaa_arg_used[gaa_index] = 1; if (gaa_error == 1) { gaa_error = 0; return 2; }; num++; } } } \ |
346 | if(!OK) \ |
347 | { \ |
348 | num = 0; \ |
349 | target = NULL((void*)0); \ |
350 | if ( gaa_last_non_option - gaa_index > 0) \ |
351 | target = gaa_malloc((gaa_last_non_option - gaa_index) * sizeof(type));\ |
352 | for(; gaa_index < gaa_last_non_option; gaa_index++) \ |
353 | { \ |
354 | if(gaa_arg_used[gaa_index] == 0) \ |
355 | { \ |
356 | GAA_FILL_2ARGS(target[num], func)target[num] = func(GAAargv[gaa_index]); gaa_arg_used[gaa_index ] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; }; \ |
357 | num++; \ |
358 | } \ |
359 | } \ |
360 | } |
361 | |
362 | #define GAA_OBLIGAT(str)k = 0; for(i = 0; i < strlen(str); i++) { j = gaa_get_option_num (str + i, 2); if(j == 0) { printf("Error: invalid 'obligat' set\n" ); exit(-1); } if(opt_list[j] == 1) k = 1; } if(k == 0) { if( strlen(str) == 1) printf("You must give the -%s option\n", str ); else printf("You must give at least one option of '%s'\n", str); return 0; } \ |
363 | k = 0; \ |
364 | for(i = 0; i < strlen(str); i++) \ |
365 | { \ |
366 | j = gaa_get_option_num(str + i, GAA_LETTER_OPTION2); \ |
367 | if(j == GAA_ERROR_NOMATCH0) \ |
368 | { \ |
369 | printf("Error: invalid 'obligat' set\n"); \ |
370 | exit(-1); \ |
371 | } \ |
372 | if(opt_list[j] == 1) \ |
373 | k = 1; \ |
374 | } \ |
375 | if(k == 0) \ |
376 | { \ |
377 | if(strlen(str) == 1) \ |
378 | printf("You must give the -%s option\n", str); \ |
379 | else \ |
380 | printf("You must give at least one option of '%s'\n", str); \ |
381 | return 0; \ |
382 | } |
383 | |
384 | #define GAA_INCOMP(str)k = 0; for(i = 0; i < strlen(str); i++) { j = gaa_get_option_num (str + i, 2); if(j == 0) { printf("Error: invalid 'obligat' set\n" ); exit(-1); } if(opt_list[j] == 1) k++; } if(k > 1) { printf ("The options '%s' are incompatible\n", str); return 0; } \ |
385 | k = 0; \ |
386 | for(i = 0; i < strlen(str); i++) \ |
387 | { \ |
388 | j = gaa_get_option_num(str + i, GAA_LETTER_OPTION2); \ |
389 | if(j == GAA_ERROR_NOMATCH0) \ |
390 | { \ |
391 | printf("Error: invalid 'obligat' set\n"); \ |
392 | exit(-1); \ |
393 | } \ |
394 | if(opt_list[j] == 1) \ |
395 | k++; \ |
396 | } \ |
397 | if(k > 1) \ |
398 | { \ |
399 | printf("The options '%s' are incompatible\n", str); \ |
400 | return 0; \ |
401 | } |
402 | |
403 | |
404 | static char **GAAargv; |
405 | static int GAAargc; |
406 | static char *gaa_arg_used; |
407 | static int gaa_processing_file = 0; |
408 | static int inited = 0; |
409 | |
410 | static int gaa_getint(char *arg) |
411 | { |
412 | int tmp; |
413 | char a; |
414 | if(sscanf(arg, "%d%c", &tmp, &a) < 1) |
415 | { |
416 | printf("Option %s: '%s' isn't an integer\n", gaa_current_option, arg); |
417 | GAAERROR(-1){ gaa_error = 1; return -1; }; |
418 | } |
419 | return tmp; |
420 | } |
421 | |
422 | static char gaa_getchar(char *arg) |
423 | { |
424 | if(strlen(arg) != 1) |
425 | { |
426 | printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg); |
427 | GAAERROR(-1){ gaa_error = 1; return -1; }; |
428 | } |
429 | return arg[0]; |
430 | } |
431 | |
432 | static char* gaa_getstr(char *arg) |
433 | { |
434 | return arg; |
435 | } |
436 | static float gaa_getfloat(char *arg) |
437 | { |
438 | float tmp; |
439 | char a; |
440 | if(sscanf(arg, "%f%c", &tmp, &a) < 1) |
441 | { |
442 | printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg); |
443 | GAAERROR(-1){ gaa_error = 1; return -1; }; |
444 | } |
445 | return tmp; |
446 | } |
447 | /* option structures */ |
448 | |
449 | struct GAAOPTION_debug |
450 | { |
451 | int arg1; |
452 | int size1; |
453 | }; |
454 | |
455 | struct GAAOPTION_infile |
456 | { |
457 | char* arg1; |
458 | int size1; |
459 | }; |
460 | |
461 | struct GAAOPTION_outfile |
462 | { |
463 | char* arg1; |
464 | int size1; |
465 | }; |
466 | |
467 | struct GAAOPTION_load_response |
468 | { |
469 | char* arg1; |
470 | int size1; |
471 | }; |
472 | |
473 | struct GAAOPTION_load_request |
474 | { |
475 | char* arg1; |
476 | int size1; |
477 | }; |
478 | |
479 | struct GAAOPTION_load_signer |
480 | { |
481 | char* arg1; |
482 | int size1; |
483 | }; |
484 | |
485 | struct GAAOPTION_load_trust |
486 | { |
487 | char* arg1; |
488 | int size1; |
489 | }; |
490 | |
491 | struct GAAOPTION_load_cert |
492 | { |
493 | char* arg1; |
494 | int size1; |
495 | }; |
496 | |
497 | struct GAAOPTION_load_issuer |
498 | { |
499 | char* arg1; |
500 | int size1; |
501 | }; |
502 | |
503 | #line 349 "gaa.skel" |
504 | static int gaa_is_an_argument(char *str) |
505 | { |
506 | #ifdef GAA_WIN32 |
507 | if(str[0] == '/' && str[1] != 0) |
508 | return GAA_MULTIPLE_OPTION3; |
509 | #endif |
510 | if(str[0] != '-') |
511 | return GAA_NOT_AN_OPTION0; |
512 | if(str[1] == 0) |
513 | return GAA_NOT_AN_OPTION0; |
514 | if(str[1] == '-') |
515 | { |
516 | if(str[2] != 0) |
517 | return GAA_WORD_OPTION1; |
518 | else |
519 | return GAA_NOT_AN_OPTION0; |
520 | } |
521 | if(str[2] == 0) |
522 | return GAA_LETTER_OPTION2; |
523 | else |
524 | return GAA_MULTIPLE_OPTION3; |
525 | } |
526 | |
527 | static int gaa_get_option_num(char *str, int status) |
528 | { |
529 | switch(status) |
530 | { |
531 | case GAA_LETTER_OPTION2: |
532 | GAA_CHECK1STR("d", GAAOPTID_debug)if("d"[0] == str[0]) { gaa_current_option = "d"; return 3; }; |
533 | GAA_CHECK1STR("", GAAOPTID_infile)if(""[0] == str[0]) { gaa_current_option = ""; return 5; }; |
534 | GAA_CHECK1STR("", GAAOPTID_outfile)if(""[0] == str[0]) { gaa_current_option = ""; return 6; }; |
535 | GAA_CHECK1STR("S", GAAOPTID_load_response)if("S"[0] == str[0]) { gaa_current_option = "S"; return 7; }; |
536 | GAA_CHECK1STR("Q", GAAOPTID_load_request)if("Q"[0] == str[0]) { gaa_current_option = "Q"; return 8; }; |
537 | GAA_CHECK1STR("", GAAOPTID_load_signer)if(""[0] == str[0]) { gaa_current_option = ""; return 10; }; |
538 | GAA_CHECK1STR("", GAAOPTID_load_trust)if(""[0] == str[0]) { gaa_current_option = ""; return 11; }; |
539 | GAA_CHECK1STR("", GAAOPTID_load_cert)if(""[0] == str[0]) { gaa_current_option = ""; return 12; }; |
540 | GAA_CHECK1STR("", GAAOPTID_load_issuer)if(""[0] == str[0]) { gaa_current_option = ""; return 13; }; |
541 | case GAA_MULTIPLE_OPTION3: |
542 | #line 375 "gaa.skel" |
543 | GAA_CHECK1STR("h", GAAOPTID_help)if("h"[0] == str[0]) { gaa_current_option = "h"; return 1; }; |
544 | GAA_CHECK1STR("v", GAAOPTID_version)if("v"[0] == str[0]) { gaa_current_option = "v"; return 2; }; |
545 | GAA_CHECK1STR("V", GAAOPTID_verbose)if("V"[0] == str[0]) { gaa_current_option = "V"; return 4; }; |
546 | GAA_CHECK1STR("", GAAOPTID_inder)if(""[0] == str[0]) { gaa_current_option = ""; return 9; }; |
547 | GAA_CHECK1STR("", GAAOPTID_no_nonce)if(""[0] == str[0]) { gaa_current_option = ""; return 14; }; |
548 | GAA_CHECK1STR("q", GAAOPTID_generate_request)if("q"[0] == str[0]) { gaa_current_option = "q"; return 15; }; |
549 | GAA_CHECK1STR("j", GAAOPTID_response_info)if("j"[0] == str[0]) { gaa_current_option = "j"; return 16; }; |
550 | GAA_CHECK1STR("i", GAAOPTID_request_info)if("i"[0] == str[0]) { gaa_current_option = "i"; return 17; }; |
551 | GAA_CHECK1STR("e", GAAOPTID_verify_response)if("e"[0] == str[0]) { gaa_current_option = "e"; return 18; }; |
552 | |
553 | #line 277 "gaa.skel" |
554 | break; |
555 | case GAA_WORD_OPTION1: |
556 | GAA_CHECKSTR("help", GAAOPTID_help)if(strcmp("help",str) == 0) { gaa_current_option = "help"; return 1; }; |
557 | GAA_CHECKSTR("version", GAAOPTID_version)if(strcmp("version",str) == 0) { gaa_current_option = "version" ; return 2; }; |
558 | GAA_CHECKSTR("debug", GAAOPTID_debug)if(strcmp("debug",str) == 0) { gaa_current_option = "debug"; return 3; }; |
559 | GAA_CHECKSTR("verbose", GAAOPTID_verbose)if(strcmp("verbose",str) == 0) { gaa_current_option = "verbose" ; return 4; }; |
560 | GAA_CHECKSTR("infile", GAAOPTID_infile)if(strcmp("infile",str) == 0) { gaa_current_option = "infile" ; return 5; }; |
561 | GAA_CHECKSTR("outfile", GAAOPTID_outfile)if(strcmp("outfile",str) == 0) { gaa_current_option = "outfile" ; return 6; }; |
562 | GAA_CHECKSTR("load-response", GAAOPTID_load_response)if(strcmp("load-response",str) == 0) { gaa_current_option = "load-response" ; return 7; }; |
563 | GAA_CHECKSTR("load-request", GAAOPTID_load_request)if(strcmp("load-request",str) == 0) { gaa_current_option = "load-request" ; return 8; }; |
564 | GAA_CHECKSTR("inder", GAAOPTID_inder)if(strcmp("inder",str) == 0) { gaa_current_option = "inder"; return 9; }; |
565 | GAA_CHECKSTR("load-signer", GAAOPTID_load_signer)if(strcmp("load-signer",str) == 0) { gaa_current_option = "load-signer" ; return 10; }; |
566 | GAA_CHECKSTR("load-trust", GAAOPTID_load_trust)if(strcmp("load-trust",str) == 0) { gaa_current_option = "load-trust" ; return 11; }; |
567 | GAA_CHECKSTR("load-cert", GAAOPTID_load_cert)if(strcmp("load-cert",str) == 0) { gaa_current_option = "load-cert" ; return 12; }; |
568 | GAA_CHECKSTR("load-issuer", GAAOPTID_load_issuer)if(strcmp("load-issuer",str) == 0) { gaa_current_option = "load-issuer" ; return 13; }; |
569 | GAA_CHECKSTR("no-nonce", GAAOPTID_no_nonce)if(strcmp("no-nonce",str) == 0) { gaa_current_option = "no-nonce" ; return 14; }; |
570 | GAA_CHECKSTR("generate-request", GAAOPTID_generate_request)if(strcmp("generate-request",str) == 0) { gaa_current_option = "generate-request"; return 15; }; |
571 | GAA_CHECKSTR("response-info", GAAOPTID_response_info)if(strcmp("response-info",str) == 0) { gaa_current_option = "response-info" ; return 16; }; |
572 | GAA_CHECKSTR("request-info", GAAOPTID_request_info)if(strcmp("request-info",str) == 0) { gaa_current_option = "request-info" ; return 17; }; |
573 | GAA_CHECKSTR("verify-response", GAAOPTID_verify_response)if(strcmp("verify-response",str) == 0) { gaa_current_option = "verify-response"; return 18; }; |
574 | |
575 | #line 281 "gaa.skel" |
576 | break; |
577 | default: break; |
578 | } |
579 | return GAA_ERROR_NOMATCH0; |
580 | } |
581 | |
582 | static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list) |
583 | { |
584 | int OK = 0; |
585 | int gaa_last_non_option; |
586 | struct GAAOPTION_debug GAATMP_debug; |
587 | struct GAAOPTION_infile GAATMP_infile; |
588 | struct GAAOPTION_outfile GAATMP_outfile; |
589 | struct GAAOPTION_load_response GAATMP_load_response; |
590 | struct GAAOPTION_load_request GAATMP_load_request; |
591 | struct GAAOPTION_load_signer GAATMP_load_signer; |
592 | struct GAAOPTION_load_trust GAATMP_load_trust; |
593 | struct GAAOPTION_load_cert GAATMP_load_cert; |
594 | struct GAAOPTION_load_issuer GAATMP_load_issuer; |
595 | |
596 | #line 393 "gaa.skel" |
597 | #ifdef GAA_REST_EXISTS |
598 | struct GAAREST GAAREST_tmp; |
599 | #endif |
600 | |
601 | opt_list[gaa_num] = 1; |
602 | |
603 | for(gaa_last_non_option = gaa_index; |
604 | (gaa_last_non_option != GAAargc) && (gaa_is_an_argument(GAAargv[gaa_last_non_option]) == GAA_NOT_AN_OPTION0); |
605 | gaa_last_non_option++); |
606 | |
607 | if(gaa_num == GAA_REST0) |
608 | { |
609 | gaa_index = 1; |
610 | gaa_last_non_option = GAAargc; |
611 | } |
612 | |
613 | switch(gaa_num) |
614 | { |
615 | case GAAOPTID_help1: |
616 | OK = 0; |
617 | #line 63 "ocsptool.gaa" |
618 | { gaa_help(); exit(0); ;}; |
619 | |
620 | return GAA_OK-1; |
621 | break; |
622 | case GAAOPTID_version2: |
623 | OK = 0; |
624 | #line 62 "ocsptool.gaa" |
625 | { ocsptool_version(); exit(0); ;}; |
626 | |
627 | return GAA_OK-1; |
628 | break; |
629 | case GAAOPTID_debug3: |
630 | OK = 0; |
631 | GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; }; |
632 | GAA_FILL(GAATMP_debug.arg1, gaa_getint, GAATMP_debug.size1)if(!OK) { GAATMP_debug.arg1 = gaa_getint(GAAargv[gaa_index]); gaa_arg_used[gaa_index] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } GAATMP_debug.size1 = 1; } else { GAATMP_debug .size1 = 0; }; |
633 | gaa_index++; |
634 | #line 60 "ocsptool.gaa" |
635 | { gaaval->debug = GAATMP_debug.arg1 ;}; |
636 | |
637 | return GAA_OK-1; |
638 | break; |
639 | case GAAOPTID_verbose4: |
640 | OK = 0; |
641 | #line 57 "ocsptool.gaa" |
642 | { gaaval->verbose = 1 ;}; |
643 | |
644 | return GAA_OK-1; |
645 | break; |
646 | case GAAOPTID_infile5: |
647 | OK = 0; |
648 | GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; }; |
649 | GAA_FILL(GAATMP_infile.arg1, gaa_getstr, GAATMP_infile.size1)if(!OK) { GAATMP_infile.arg1 = gaa_getstr(GAAargv[gaa_index]) ; gaa_arg_used[gaa_index] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } GAATMP_infile.size1 = 1; } else { GAATMP_infile .size1 = 0; }; |
650 | gaa_index++; |
651 | #line 54 "ocsptool.gaa" |
652 | { gaaval->infile = GAATMP_infile.arg1 ;}; |
653 | |
654 | return GAA_OK-1; |
655 | break; |
656 | case GAAOPTID_outfile6: |
657 | OK = 0; |
658 | GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; }; |
659 | GAA_FILL(GAATMP_outfile.arg1, gaa_getstr, GAATMP_outfile.size1)if(!OK) { GAATMP_outfile.arg1 = gaa_getstr(GAAargv[gaa_index] ); gaa_arg_used[gaa_index] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } GAATMP_outfile.size1 = 1; } else { GAATMP_outfile .size1 = 0; }; |
660 | gaa_index++; |
661 | #line 51 "ocsptool.gaa" |
662 | { gaaval->outfile = GAATMP_outfile.arg1 ;}; |
663 | |
664 | return GAA_OK-1; |
665 | break; |
666 | case GAAOPTID_load_response7: |
667 | OK = 0; |
668 | GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; }; |
669 | GAA_FILL(GAATMP_load_response.arg1, gaa_getstr, GAATMP_load_response.size1)if(!OK) { GAATMP_load_response.arg1 = gaa_getstr(GAAargv[gaa_index ]); gaa_arg_used[gaa_index] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } GAATMP_load_response.size1 = 1; } else { GAATMP_load_response .size1 = 0; }; |
670 | gaa_index++; |
671 | #line 48 "ocsptool.gaa" |
672 | { gaaval->resp = GAATMP_load_response.arg1 ;}; |
673 | |
674 | return GAA_OK-1; |
675 | break; |
676 | case GAAOPTID_load_request8: |
677 | OK = 0; |
678 | GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; }; |
679 | GAA_FILL(GAATMP_load_request.arg1, gaa_getstr, GAATMP_load_request.size1)if(!OK) { GAATMP_load_request.arg1 = gaa_getstr(GAAargv[gaa_index ]); gaa_arg_used[gaa_index] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } GAATMP_load_request.size1 = 1; } else { GAATMP_load_request .size1 = 0; }; |
680 | gaa_index++; |
681 | #line 45 "ocsptool.gaa" |
682 | { gaaval->req = GAATMP_load_request.arg1 ;}; |
683 | |
684 | return GAA_OK-1; |
685 | break; |
686 | case GAAOPTID_inder9: |
687 | OK = 0; |
688 | #line 42 "ocsptool.gaa" |
689 | { gaaval->inder=1 ;}; |
690 | |
691 | return GAA_OK-1; |
692 | break; |
693 | case GAAOPTID_load_signer10: |
694 | OK = 0; |
695 | GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; }; |
696 | GAA_FILL(GAATMP_load_signer.arg1, gaa_getstr, GAATMP_load_signer.size1)if(!OK) { GAATMP_load_signer.arg1 = gaa_getstr(GAAargv[gaa_index ]); gaa_arg_used[gaa_index] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } GAATMP_load_signer.size1 = 1; } else { GAATMP_load_signer .size1 = 0; }; |
697 | gaa_index++; |
698 | #line 39 "ocsptool.gaa" |
699 | { gaaval->signer = GAATMP_load_signer.arg1 ;}; |
700 | |
701 | return GAA_OK-1; |
702 | break; |
703 | case GAAOPTID_load_trust11: |
704 | OK = 0; |
705 | GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; }; |
706 | GAA_FILL(GAATMP_load_trust.arg1, gaa_getstr, GAATMP_load_trust.size1)if(!OK) { GAATMP_load_trust.arg1 = gaa_getstr(GAAargv[gaa_index ]); gaa_arg_used[gaa_index] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } GAATMP_load_trust.size1 = 1; } else { GAATMP_load_trust .size1 = 0; }; |
707 | gaa_index++; |
708 | #line 36 "ocsptool.gaa" |
709 | { gaaval->trust = GAATMP_load_trust.arg1 ;}; |
710 | |
711 | return GAA_OK-1; |
712 | break; |
713 | case GAAOPTID_load_cert12: |
714 | OK = 0; |
715 | GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; }; |
716 | GAA_FILL(GAATMP_load_cert.arg1, gaa_getstr, GAATMP_load_cert.size1)if(!OK) { GAATMP_load_cert.arg1 = gaa_getstr(GAAargv[gaa_index ]); gaa_arg_used[gaa_index] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } GAATMP_load_cert.size1 = 1; } else { GAATMP_load_cert .size1 = 0; }; |
717 | gaa_index++; |
718 | #line 33 "ocsptool.gaa" |
719 | { gaaval->cert = GAATMP_load_cert.arg1 ;}; |
720 | |
721 | return GAA_OK-1; |
722 | break; |
723 | case GAAOPTID_load_issuer13: |
724 | OK = 0; |
725 | GAA_TESTMOREARGSif(!OK) { while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) gaa_index++; if(gaa_last_non_option == gaa_index) return 1; }; |
726 | GAA_FILL(GAATMP_load_issuer.arg1, gaa_getstr, GAATMP_load_issuer.size1)if(!OK) { GAATMP_load_issuer.arg1 = gaa_getstr(GAAargv[gaa_index ]); gaa_arg_used[gaa_index] = 1; if(gaa_error == 1) { gaa_error = 0; return 2; } GAATMP_load_issuer.size1 = 1; } else { GAATMP_load_issuer .size1 = 0; }; |
727 | gaa_index++; |
Value stored to 'gaa_index' is never read | |
728 | #line 30 "ocsptool.gaa" |
729 | { gaaval->issuer = GAATMP_load_issuer.arg1 ;}; |
730 | |
731 | return GAA_OK-1; |
732 | break; |
733 | case GAAOPTID_no_nonce14: |
734 | OK = 0; |
735 | #line 27 "ocsptool.gaa" |
736 | { gaaval->nononce = 1 ;}; |
737 | |
738 | return GAA_OK-1; |
739 | break; |
740 | case GAAOPTID_generate_request15: |
741 | OK = 0; |
742 | #line 24 "ocsptool.gaa" |
743 | { gaaval->action = ACTION_GEN_REQ; ;}; |
744 | |
745 | return GAA_OK-1; |
746 | break; |
747 | case GAAOPTID_response_info16: |
748 | OK = 0; |
749 | #line 22 "ocsptool.gaa" |
750 | { gaaval->action = ACTION_RESP_INFO; ;}; |
751 | |
752 | return GAA_OK-1; |
753 | break; |
754 | case GAAOPTID_request_info17: |
755 | OK = 0; |
756 | #line 20 "ocsptool.gaa" |
757 | { gaaval->action = ACTION_REQ_INFO; ;}; |
758 | |
759 | return GAA_OK-1; |
760 | break; |
761 | case GAAOPTID_verify_response18: |
762 | OK = 0; |
763 | #line 18 "ocsptool.gaa" |
764 | { gaaval->action = ACTION_VERIFY_RESP; ;}; |
765 | |
766 | return GAA_OK-1; |
767 | break; |
768 | |
769 | #line 413 "gaa.skel" |
770 | default: break; |
771 | } |
772 | return GAA_ERROR_UNKNOWN3; |
773 | } |
774 | |
775 | int gaa(int argc, char **argv, gaainfo *gaaval) |
776 | { |
777 | int tmp1, tmp2; |
778 | int i, j; |
779 | char *opt_list; |
780 | |
781 | GAAargv = argv; |
782 | GAAargc = argc; |
783 | |
784 | opt_list = (char*) gaa_malloc(GAA_NB_OPTION18 + 1); |
785 | |
786 | for(i = 0; i < GAA_NB_OPTION18 + 1; i++) |
787 | opt_list[i] = 0; |
788 | /* initialization */ |
789 | if(inited == 0) |
790 | { |
791 | |
792 | #line 65 "ocsptool.gaa" |
793 | { gaaval->action = ACTION_NONE; |
794 | gaaval->nononce = 0; |
795 | gaaval->inder = 0; |
796 | gaaval->issuer = NULL((void*)0); |
797 | gaaval->cert = NULL((void*)0); |
798 | gaaval->trust = NULL((void*)0); |
799 | gaaval->req = NULL((void*)0); |
800 | gaaval->resp = NULL((void*)0); |
801 | gaaval->outfile = NULL((void*)0); |
802 | gaaval->infile = NULL((void*)0); |
803 | gaaval->verbose = 0; |
804 | gaaval->debug = 0; ;}; |
805 | |
806 | } |
807 | inited = 1; |
808 | #line 438 "gaa.skel" |
809 | gaa_arg_used = NULL((void*)0); |
810 | |
811 | if (argc > 0) { |
812 | gaa_arg_used = gaa_malloc(argc * sizeof(char)); |
813 | } |
814 | |
815 | for(i = 1; i < argc; i++) |
816 | gaa_arg_used[i] = 0; |
817 | for(i = 1; i < argc; i++) |
818 | { |
819 | if(gaa_arg_used[i] == 0) |
820 | { |
821 | j = 0; |
822 | tmp1 = gaa_is_an_argument(GAAargv[i]); |
823 | switch(tmp1) |
824 | { |
825 | case GAA_WORD_OPTION1: |
826 | j++; |
827 | case GAA_LETTER_OPTION2: |
828 | j++; |
829 | tmp2 = gaa_get_option_num(argv[i]+j, tmp1); |
830 | if(tmp2 == GAA_ERROR_NOMATCH0) |
831 | { |
832 | printf("Invalid option '%s'\n", argv[i]+j); |
833 | return 0; |
834 | } |
835 | switch(gaa_try(tmp2, i+1, gaaval, opt_list)) |
836 | { |
837 | case GAA_ERROR_NOTENOUGH_ARGS1: |
838 | printf("'%s': not enough arguments\n",gaa_current_option); |
839 | return 0; |
840 | case GAA_ERROR_INVALID_ARG2: |
841 | printf("Invalid arguments\n"); |
842 | return 0; |
843 | case GAA_OK-1: |
844 | break; |
845 | default: |
846 | printf("Unknown error\n"); |
847 | } |
848 | gaa_arg_used[i] = 1; |
849 | break; |
850 | case GAA_MULTIPLE_OPTION3: |
851 | for(j = 1; j < strlen(argv[i]); j++) |
852 | { |
853 | tmp2 = gaa_get_option_num(argv[i]+j, tmp1); |
854 | if(tmp2 == GAA_ERROR_NOMATCH0) |
855 | { |
856 | printf("Invalid option '%c'\n", *(argv[i]+j)); |
857 | return 0; |
858 | } |
859 | switch(gaa_try(tmp2, i+1, gaaval, opt_list)) |
860 | { |
861 | case GAA_ERROR_NOTENOUGH_ARGS1: |
862 | printf("'%s': not enough arguments\n",gaa_current_option); |
863 | return 0; |
864 | case GAA_ERROR_INVALID_ARG2: |
865 | printf("Invalid arguments\n"); |
866 | return 0; |
867 | case GAA_OK-1: |
868 | break; |
869 | default: |
870 | printf("Unknown error\n"); |
871 | } |
872 | } |
873 | gaa_arg_used[i] = 1; |
874 | break; |
875 | default: break; |
876 | } |
877 | } |
878 | } |
879 | if(gaa_processing_file == 0) |
880 | { |
881 | |
882 | #line 507 "gaa.skel" |
883 | #ifdef GAA_REST_EXISTS |
884 | switch(gaa_try(GAA_REST0, 1, gaaval, opt_list)) |
885 | { |
886 | case GAA_ERROR_NOTENOUGH_ARGS1: |
887 | printf("Rest: not enough arguments\n"); |
888 | return 0; |
889 | case GAA_ERROR_INVALID_ARG2: |
890 | printf("Invalid arguments\n"); |
891 | return 0; |
892 | case GAA_OK-1: |
893 | break; |
894 | default: |
895 | printf("Unknown error\n"); |
896 | } |
897 | #endif |
898 | } |
899 | for(i = 1; i < argc; i++) |
900 | { |
901 | if(gaa_arg_used[i] == 0) |
902 | { |
903 | printf("Too many arguments\n"); |
904 | return 0; |
905 | } |
906 | } |
907 | free(gaa_arg_used); |
908 | free(opt_list); |
909 | return -1; |
910 | } |
911 | |
912 | struct gaastrnode |
913 | { |
914 | char *str; |
915 | struct gaastrnode *next; |
916 | }; |
917 | |
918 | typedef struct gaastrnode gaa_str_node; |
919 | |
920 | static int gaa_internal_get_next_str(FILE *file, gaa_str_node *tmp_str, int argc) |
921 | { |
922 | int pos_ini; |
923 | int a; |
924 | int i = 0, len = 0, newline = 0; |
925 | |
926 | if(argc == 1) { |
927 | newline = 1; |
928 | len = 2; |
929 | } |
930 | |
931 | a = fgetc( file); |
932 | if (a == EOF(-1)) return 0; |
933 | |
934 | while(a == ' ' || a == 9 || a == '\n') |
935 | { |
936 | if(a == '\n') |
937 | { |
938 | newline=1; |
939 | len = 2; |
940 | } |
941 | a = fgetc( file); |
942 | if (a == EOF(-1)) return 0; |
943 | } |
944 | |
945 | pos_ini = ftell(file) - 1; |
946 | |
947 | while(a != ' ' && a != 9 && a != '\n') |
948 | { |
949 | |
950 | len++; |
951 | a = fgetc( file); |
952 | if(a==EOF(-1)) return 0; //a = ' '; |
953 | } |
954 | |
955 | len += 1; |
956 | tmp_str->str = gaa_malloc((len) * sizeof(char)); |
957 | |
958 | if(newline == 1) |
959 | { |
960 | tmp_str->str[0] = '-'; |
961 | tmp_str->str[1] = '-'; |
962 | i = 2; |
963 | } |
964 | else |
965 | { |
966 | i = 0; |
967 | } |
968 | |
969 | fseek(file,pos_ini, SEEK_SET0); |
970 | do |
971 | { |
972 | a = fgetc( file); |
973 | |
974 | if (a == EOF(-1)) { |
975 | i+=2; |
976 | break; |
977 | } |
978 | tmp_str->str[i] = a; |
979 | i++; |
980 | } |
981 | while(a != ' ' && a != 9 && a != '\n' && i < len); |
982 | |
983 | tmp_str->str[i - 1] = 0; |
984 | |
985 | fseek(file,- 1, SEEK_CUR1); |
986 | /* printf("%d\n", ftell(file)); */ |
987 | |
988 | return -1; |
989 | } |
990 | |
991 | int gaa_file(const char *name, gaainfo *gaaval) |
992 | { |
993 | gaa_str_node *first_str, **tmp_str, *tmp_str2; |
994 | int rval, i; |
995 | char **argv; |
996 | int argc = 0; |
997 | FILE *file; |
998 | |
999 | gaa_processing_file = 1; |
1000 | |
1001 | if((file = fopen(name, "r")) == NULL((void*)0)) |
1002 | { |
1003 | printf("Couldn't open '%s' configuration file for reading\n", name); |
1004 | return 1; |
1005 | } |
1006 | |
1007 | tmp_str = &first_str; |
1008 | do |
1009 | { |
1010 | argc++; |
1011 | *tmp_str = gaa_malloc(sizeof(gaa_str_node)); |
1012 | |
1013 | (*tmp_str)->str = NULL((void*)0); |
1014 | (*tmp_str)->next = NULL((void*)0); |
1015 | |
1016 | rval = gaa_internal_get_next_str(file, *tmp_str, argc); |
1017 | tmp_str = &((*tmp_str)->next); |
1018 | } |
1019 | while(rval == -1); |
1020 | |
1021 | if(rval == 1) |
1022 | return 0; |
1023 | |
1024 | argv = gaa_malloc((1 + argc) * sizeof(char*)); |
1025 | |
1026 | tmp_str2 = first_str; |
1027 | argv[0] = "cfg"; |
1028 | for(i = 1; i < argc; i++) |
1029 | { |
1030 | argv[i] = tmp_str2->str; |
1031 | tmp_str2 = tmp_str2->next; |
1032 | } |
1033 | |
1034 | rval = gaa(argc, argv, gaaval); |
1035 | gaa_processing_file = 0; |
1036 | return rval; |
1037 | } |