From: Vlad S. <ser...@us...> - 2005-04-04 02:39:56
|
Update of /cvsroot/naviserver/naviserver/nsd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5221/nsd Modified Files: nsmain.c Log Message: fixed make test, argumens nowe processed until first non dash parameter Index: nsmain.c =================================================================== RCS file: /cvsroot/naviserver/naviserver/nsd/nsmain.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** nsmain.c 3 Apr 2005 23:37:06 -0000 1.5 --- nsmain.c 4 Apr 2005 02:39:47 -0000 1.6 *************** *** 109,113 **** Ns_Main(int argc, char **argv, Ns_ServerInitProc *initProc) { ! int i, fd, sig; char *config; Ns_Time timeout; --- 109,114 ---- Ns_Main(int argc, char **argv, Ns_ServerInitProc *initProc) { ! int i, fd, sig, optind, cmdargc; ! char **cmdargv;; char *config; Ns_Time timeout; *************** *** 196,205 **** */ ! for (i = 1; i < argc; i++) { ! if (argv[i][0] != '-') { ! UsageError("invalid option: %s", argv[i]); ! exit(1); } ! switch (argv[i][1]) { case 'h': UsageError(NULL); --- 197,205 ---- */ ! for (optind = 1; optind < argc; optind++) { ! if (argv[optind][0] != '-') { ! break; } ! switch (argv[optind][1]) { case 'h': UsageError(NULL); *************** *** 222,226 **** #endif } ! mode = argv[i][1]; break; case 's': --- 222,226 ---- #endif } ! mode = argv[optind][1]; break; case 's': *************** *** 228,235 **** UsageError("multiple -s <server> options"); } ! if (i + 1 < argc) { ! server = argv[++i]; } else { ! UsageError("no parameter for -%c option", argv[i][1]); } break; --- 228,235 ---- UsageError("multiple -s <server> options"); } ! if (optind + 1 < argc) { ! server = argv[++optind]; } else { ! UsageError("no parameter for -%c option", argv[optind][1]); } break; *************** *** 238,245 **** UsageError("multiple -t <file> options"); } ! if (i + 1 < argc) { ! nsconf.config = argv[++i]; } else { ! UsageError("no parameter for -%c option", argv[i][1]); } break; --- 238,245 ---- UsageError("multiple -t <file> options"); } ! if (optind + 1 < argc) { ! nsconf.config = argv[++optind]; } else { ! UsageError("no parameter for -%c option", argv[optind][1]); } break; *************** *** 250,271 **** #ifndef _WIN32 case 'b': ! if (i + 1 < argc) { ! bindargs = argv[++i]; } else { ! UsageError("no parameter for -%c option", argv[i][1]); } break; case 'B': ! if (i + 1 < argc) { ! bindfile = argv[++i]; } else { ! UsageError("no parameter for -%c option", argv[i][1]); } break; case 'r': ! if (i + 1 < argc) { ! root = server = argv[++i]; } else { ! UsageError("no parameter for -%c option", argv[i][1]); } break; --- 250,271 ---- #ifndef _WIN32 case 'b': ! if (optind + 1 < argc) { ! bindargs = argv[++optind]; } else { ! UsageError("no parameter for -%c option", argv[optind][1]); } break; case 'B': ! if (optind + 1 < argc) { ! bindfile = argv[++optind]; } else { ! UsageError("no parameter for -%c option", argv[optind][1]); } break; case 'r': ! if (optind + 1 < argc) { ! root = server = argv[++optind]; } else { ! UsageError("no parameter for -%c option", argv[optind][optind]); } break; *************** *** 274,293 **** break; case 'g': ! if (i + 1 < argc) { ! garg = argv[++i]; } else { ! UsageError("no parameter for -%c option", argv[i][1]); } break; case 'u': ! if (i + 1 < argc) { ! uarg = argv[++i]; } else { ! UsageError("no parameter for -%c option", argv[i][1]); } break; #endif default: ! UsageError("invalid option: -%c", argv[i][1]); break; } --- 274,293 ---- break; case 'g': ! if (optind + 1 < argc) { ! garg = argv[++optind]; } else { ! UsageError("no parameter for -%c option", argv[optind][1]); } break; case 'u': ! if (optind + 1 < argc) { ! uarg = argv[++optind]; } else { ! UsageError("no parameter for -%c option", argv[optind][1]); } break; #endif default: ! UsageError("invalid option: -%c", argv[optind][1]); break; } *************** *** 537,541 **** Tcl_FindExecutable(argv[0]); nsconf.nsd = (char *) Tcl_GetNameOfExecutable(); ! NsConfigEval(config, argc, argv, argc); ns_free(config); --- 537,541 ---- Tcl_FindExecutable(argv[0]); nsconf.nsd = (char *) Tcl_GetNameOfExecutable(); ! NsConfigEval(config, argc, argv, optind); ns_free(config); *************** *** 741,745 **** NsRestoreSignals(); ! Tcl_Main(argc, argv, CommandInit); } --- 741,751 ---- NsRestoreSignals(); ! cmdargv = ns_calloc((size_t) argc - optind + 2, sizeof(char *)); ! cmdargc = 0; ! cmdargv[cmdargc++] = argv[0]; ! for (i = optind; i < argc; i++) { ! cmdargv[cmdargc++] = argv[i]; ! } ! Tcl_Main(cmdargc, cmdargv, CommandInit); } |