1 If you modify src/*.gaa files you need to rebuild them using the 'gaa'
2 tool. The last release, 1.6.6, contains some minor problems that
3 triggers warnings on the output C code. The following patch against
4 gaa 1.6.6 is used to generate files stored in GnuTLS.
6 diff -ur gaa-1.6.6.orig/source/skel/gaa.skel gaa-1.6.6/source/skel/gaa.skel
7 --- gaa-1.6.6.orig/source/skel/gaa.skel 2004-04-15 13:32:29.000000000 +0200
8 +++ gaa-1.6.6/source/skel/gaa.skel 2008-11-13 10:52:23.000000000 +0100
13 -static char gaa_getchar(char *arg)
15 - if(strlen(arg) != 1)
17 - printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg);
23 static char* gaa_getstr(char *arg)
27 -static float gaa_getfloat(char *arg)
31 - if(sscanf(arg, "%f%c", &tmp, &a) < 1)
33 - printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg);
39 /* option structures */
43 int gaa(int argc, char **argv, gaainfo *gaaval)
56 opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1);
58 - for(i = 0; i < GAA_NB_OPTION + 1; i++)
60 + for(l = 0; l < GAA_NB_OPTION + 1; l++)
66 gaa_arg_used = gaa_malloc(argc * sizeof(char));
69 - for(i = 1; i < argc; i++)
70 - gaa_arg_used[i] = 0;
71 - for(i = 1; i < argc; i++)
72 + for(l = 1; l < argc; l++)
73 + gaa_arg_used[l] = 0;
74 + for(l = 1; l < argc; l++)
76 - if(gaa_arg_used[i] == 0)
77 + if(gaa_arg_used[l] == 0)
80 - tmp1 = gaa_is_an_argument(GAAargv[i]);
81 + tmp1 = gaa_is_an_argument(GAAargv[l]);
86 case GAA_LETTER_OPTION:
88 - tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
89 + tmp2 = gaa_get_option_num(argv[l]+j, tmp1);
90 if(tmp2 == GAA_ERROR_NOMATCH)
92 - printf("Invalid option '%s'\n", argv[i]+j);
93 + printf("Invalid option '%s'\n", argv[l]+j);
96 - switch(gaa_try(tmp2, i+1, gaaval, opt_list))
97 + switch(gaa_try(tmp2, l+1, gaaval, opt_list))
99 case GAA_ERROR_NOTENOUGH_ARGS:
100 printf("'%s': not enough arguments\n",gaa_current_option);
101 @@ -501,18 +485,18 @@
103 printf("Unknown error\n");
105 - gaa_arg_used[i] = 1;
106 + gaa_arg_used[l] = 1;
108 case GAA_MULTIPLE_OPTION:
109 - for(j = 1; j < strlen(argv[i]); j++)
110 + for(j = 1; j < strlen(argv[l]); j++)
112 - tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
113 + tmp2 = gaa_get_option_num(argv[l]+j, tmp1);
114 if(tmp2 == GAA_ERROR_NOMATCH)
116 - printf("Invalid option '%c'\n", *(argv[i]+j));
117 + printf("Invalid option '%c'\n", *(argv[l]+j));
120 - switch(gaa_try(tmp2, i+1, gaaval, opt_list))
121 + switch(gaa_try(tmp2, l+1, gaaval, opt_list))
123 case GAA_ERROR_NOTENOUGH_ARGS:
124 printf("'%s': not enough arguments\n",gaa_current_option);
126 printf("Unknown error\n");
129 - gaa_arg_used[i] = 1;
130 + gaa_arg_used[l] = 1;
138 - for(i = 1; i < argc; i++)
139 + for(l = 1; l < argc; l++)
141 - if(gaa_arg_used[i] == 0)
142 + if(gaa_arg_used[l] == 0)
144 printf("Too many arguments\n");
150 - if(a==EOF) return 0; //a = ' ';
151 + if(a==EOF) return 0; /* a = ' '; */