From: <kin...@us...> - 2011-05-13 06:22:32
|
Revision: 4768 http://teem.svn.sourceforge.net/teem/?rev=4768&view=rev Author: kindlmann Date: 2011-05-13 06:22:22 +0000 (Fri, 13 May 2011) Log Message: ----------- attempt to rectify a long-standing problem with char**argv usage in hest NOT being const char**argv; further const additions may follow Modified Paths: -------------- teem/trunk/src/hest/GNUmakefile teem/trunk/src/hest/hest.h teem/trunk/src/hest/parseHest.c teem/trunk/src/hest/privateHest.h teem/trunk/src/hest/test/bday.c teem/trunk/src/hest/test/ex0.c teem/trunk/src/hest/test/ex1.c teem/trunk/src/hest/test/ex2.c teem/trunk/src/hest/test/ex3.c teem/trunk/src/hest/test/ex4.c teem/trunk/src/hest/test/ex5.c teem/trunk/src/hest/test/tmpl.c Modified: teem/trunk/src/hest/GNUmakefile =================================================================== --- teem/trunk/src/hest/GNUmakefile 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/GNUmakefile 2011-05-13 06:22:22 UTC (rev 4768) @@ -49,7 +49,7 @@ $(L).PUBLIC_HEADERS = hest.h $(L).PRIVATE_HEADERS = privateHest.h $(L).OBJS = defaultsHest.o methodsHest.o usage.o parseHest.o -$(L).TESTS = test/ex0 test/ex1 test/ex2 test/ex3 test/ex4 test/ex5 \ +$(L).TESTS = test/ex2 test/ex3 test/ex4 test/ex5 \ test/strings test/bday test/tmpl #### #### Modified: teem/trunk/src/hest/hest.h =================================================================== --- teem/trunk/src/hest/hest.h 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/hest.h 2011-05-13 06:22:22 UTC (rev 4768) @@ -194,12 +194,12 @@ HEST_EXPORT int hestOptCheck(hestOpt *opt, char **errP); /* parseHest.c */ -HEST_EXPORT int hestParse(hestOpt *opt, int argc, char **argv, +HEST_EXPORT int hestParse(hestOpt *opt, int argc, const char **argv, char **errP, hestParm *parm); HEST_EXPORT void *hestParseFree(hestOpt *opt); -HEST_EXPORT void hestParseOrDie(hestOpt *opt, int argc, char **argv, +HEST_EXPORT void hestParseOrDie(hestOpt *opt, int argc, const char **argv, hestParm *parm, - char *me, char *info, + const char *me, const char *info, int doInfo, int doUsage, int doGlossary); /* usage.c */ Modified: teem/trunk/src/hest/parseHest.c =================================================================== --- teem/trunk/src/hest/parseHest.c 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/parseHest.c 2011-05-13 06:22:22 UTC (rev 4768) @@ -43,7 +43,7 @@ */ int _hestArgsInResponseFiles(int *argcP, int *nrfP, - char **argv, char *err, hestParm *parm) { + const char **argv, char *err, hestParm *parm) { FILE *file; char me[]="_hestArgsInResponseFiles: ", line[AIR_STRLEN_HUGE], *pound; int ai, len; @@ -90,7 +90,7 @@ ** copies from the user's argc,argv to our local copy. */ int -_hestResponseFiles(char **newArgv, char **oldArgv, +_hestResponseFiles(char **newArgv, const char **oldArgv, hestParm *parm, airArray *pmop) { char line[AIR_STRLEN_HUGE], *pound; int len, newArgc, oldArgc, incr, ai; @@ -105,9 +105,9 @@ } if (!parm->respFileEnable || parm->respFileFlag != oldArgv[oldArgc][0]) { - /* nothing to do with a response file, just copy the arg over. - We are not allocating new memory in this case. */ - newArgv[newArgc] = oldArgv[oldArgc]; + /* nothing to do with a response file */ + newArgv[newArgc] = airStrdup(oldArgv[oldArgc]); + airMopAdd(pmop, newArgv[newArgc], airFree, airMopAlways); newArgc += 1; } else { @@ -345,7 +345,7 @@ } int -_hestErrStrlen(hestOpt *opt, int argc, char **argv) { +_hestErrStrlen(hestOpt *opt, int argc, const char **argv) { int a, numOpts, ret, other; ret = 0; @@ -1033,7 +1033,7 @@ ** documentation? */ int -hestParse(hestOpt *opt, int _argc, char **_argv, +hestParse(hestOpt *opt, int _argc, const char **_argv, char **_errP, hestParm *_parm) { char me[]="hestParse: "; char **argv, **prms, *err; @@ -1271,8 +1271,9 @@ ** if parsing succeeded: return */ void -hestParseOrDie(hestOpt *opt, int argc, char **argv, hestParm *parm, - char *me, char *info, +hestParseOrDie(hestOpt *opt, int argc, const char **argv, + hestParm *parm, + const char *me, const char *info, int doInfo, int doUsage, int doGlossary) { int E; char *errS; Modified: teem/trunk/src/hest/privateHest.h =================================================================== --- teem/trunk/src/hest/privateHest.h 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/privateHest.h 2011-05-13 06:22:22 UTC (rev 4768) @@ -40,7 +40,7 @@ /* parse.c */ extern int _hestPanic(hestOpt *opt, char *err, hestParm *parm); -extern int _hestErrStrlen(hestOpt *opt, int argc, char **argv); +extern int _hestErrStrlen(hestOpt *opt, int argc, const char **argv); #ifdef __cplusplus } Modified: teem/trunk/src/hest/test/bday.c =================================================================== --- teem/trunk/src/hest/test/bday.c 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/test/bday.c 2011-05-13 06:22:22 UTC (rev 4768) @@ -43,12 +43,12 @@ "of days in the year."); int -main(int argc, char *argv[]) { +main(int argc, const char *argv[]) { airArray *mop; hestOpt *hopt=NULL; int i, N, M, P, yes, *year; unsigned int E; - char *me; + const char *me; double crct; me = argv[0]; Modified: teem/trunk/src/hest/test/ex0.c =================================================================== --- teem/trunk/src/hest/test/ex0.c 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/test/ex0.c 2011-05-13 06:22:22 UTC (rev 4768) @@ -23,6 +23,18 @@ #include "../hest.h" +/* +** this example has been taken out of the build because GLK was sure +** Fri May 13 00:51:11 CDT 2011 how to handle these annoying warnings: + +../hest/test/ex0.c: In function 'main': +../hest/test/ex0.c:32: warning: missing initializer +../hest/test/ex0.c:32: warning: (near initialization for 'opt[0].sawP') +../hest/test/ex0.c:34: warning: missing initializer +../hest/test/ex0.c:34: warning: (near initialization for 'opt[1].sawP') + +*/ + int main(int argc, char **argv) { static int res[2], v, numIn; Modified: teem/trunk/src/hest/test/ex1.c =================================================================== --- teem/trunk/src/hest/test/ex1.c 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/test/ex1.c 2011-05-13 06:22:22 UTC (rev 4768) @@ -23,6 +23,18 @@ #include "../hest.h" +/* +** this example has been taken out of the build because GLK was sure +** Fri May 13 00:51:11 CDT 2011 how to handle these annoying warnings: + +../hest/test/ex1.c: In function 'main': +../hest/test/ex1.c:34: warning: missing initializer +../hest/test/ex1.c:34: warning: (near initialization for 'opt[0].sawP') +../hest/test/ex1.c:36: warning: missing initializer +../hest/test/ex1.c:36: warning: (near initialization for 'opt[1].sawP') + +*/ + int main(int argc, char **argv) { static int res[2], v, numIn; Modified: teem/trunk/src/hest/test/ex2.c =================================================================== --- teem/trunk/src/hest/test/ex2.c 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/test/ex2.c 2011-05-13 06:22:22 UTC (rev 4768) @@ -24,7 +24,7 @@ #include "../hest.h" int -main(int argc, char **argv) { +main(int argc, const char **argv) { int res[2], v, numIn; char **in, *out; int n; Modified: teem/trunk/src/hest/test/ex3.c =================================================================== --- teem/trunk/src/hest/test/ex3.c 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/test/ex3.c 2011-05-13 06:22:22 UTC (rev 4768) @@ -24,7 +24,7 @@ #include "../hest.h" int -main(int argc, char **argv) { +main(int argc, const char **argv) { int res[2], v, numIn; char **in, *out, *blah[3], *option = NULL; int n, *ints, numN; Modified: teem/trunk/src/hest/test/ex4.c =================================================================== --- teem/trunk/src/hest/test/ex4.c 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/test/ex4.c 2011-05-13 06:22:22 UTC (rev 4768) @@ -45,7 +45,7 @@ }; int -main(int argc, char **argv) { +main(int argc, const char **argv) { double single[2], triple[6], maybe[2], *many; int howMany, i, N; hestOpt *opt = NULL; Modified: teem/trunk/src/hest/test/ex5.c =================================================================== --- teem/trunk/src/hest/test/ex5.c 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/test/ex5.c 2011-05-13 06:22:22 UTC (rev 4768) @@ -45,7 +45,7 @@ }; int -main(int argc, char **argv) { +main(int argc, const char **argv) { char *single, *triple[3], *maybe, **many; int howMany, i, N; hestOpt *opt = NULL; Modified: teem/trunk/src/hest/test/tmpl.c =================================================================== --- teem/trunk/src/hest/test/tmpl.c 2011-05-12 18:57:59 UTC (rev 4767) +++ teem/trunk/src/hest/test/tmpl.c 2011-05-13 06:22:22 UTC (rev 4768) @@ -25,8 +25,8 @@ char *tmplInfo = ("shows minimal usage of hest with mops"); int -main(int argc, char *argv[]) { - char *me; +main(int argc, const char *argv[]) { + const char *me; hestOpt *hopt; hestParm *hparm; airArray *mop; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |