--- trunk/commandLine/commandLine.c 2003/05/06 19:42:41 521 +++ trunk/commandLine/commandLine.c 2003/05/07 17:13:03 522 @@ -58,8 +58,8 @@ int main(argC, argV) // ********************************************************** // single: - char* inName; - FILE* inFile; +// char* inName; +// FILE* inFile; // *********************************************************** // multiple: @@ -80,8 +80,8 @@ int main(argC, argV) // ******************************************** // single input: - inName = NULL; - inFile = NULL; +// inName = NULL; +// inFile = NULL; // ********************************************* // multiple input: @@ -108,7 +108,7 @@ int main(argC, argV) rFlag = 0; iFlag = 0; - + flag2Val = 0.0; iVal = 0; @@ -131,8 +131,23 @@ int main(argC, argV) flag1 = 1; // set flag1 to true i++; + if( i>=argC ){ + fprintf( stderr, + "\n" + "not enough arguments for flag1\n"); + usage(); + exit(0); + } strcpy( flag1Arg1, argV[i] ); + i++; + if( i>=argC ){ + fprintf( stderr, + "\n" + "not enough arguments for flag1\n"); + usage(); + exit(0); + } strcpy( flag1Arg2, argV[i] ); } @@ -140,6 +155,14 @@ int main(argC, argV) flag2 = 1; // set the flag2 to true; i++; + if( i>=argC ){ + fprintf( stderr, + "\n" + "not enough arguments for flag2\n"); + usage(); + exit(0); + } + flag2Val = strtod( argV[i], &conversionCheck ); if( conversionCheck == argV[i] ) conversionError = 1; if( *conversionCheck != '\0' ) conversionError = 1; @@ -175,10 +198,10 @@ int main(argC, argV) done =0; j = 1; - currentFlag = argv[i][j]; - while( (current_flag != '\0') && (!done) ){ + currentFlag = argV[i][j]; + while( (currentFlag != '\0') && (!done) ){ - switch(current_flag){ + switch(currentFlag){ case 'h': // -h => give the usage help message @@ -205,6 +228,14 @@ int main(argC, argV) } i++; + if( i>=argC ){ + fprintf( stderr, + "\n" + "not enough arguments for -o\n"); + usage(); + exit(0); + } + outPrefix = argV[i]; if( outPrefix[0] == '-' ) optionError = 1; @@ -249,6 +280,14 @@ int main(argC, argV) } i++; + if( i>=argC ){ + fprintf( stderr, + "\n" + "not enough arguments for -i\n"); + usage(); + exit(0); + } + iVal = (int)strtol( argV[i], &conversionCheck, 10 ); if( conversionCheck == argV[i] ) conversionError = 1; if( *conversionCheck != '\0' ) conversionError = 1; @@ -269,11 +308,11 @@ int main(argC, argV) (void)fprintf(stderr, "\n" - "Bad option \"-%c\"\n", current_flag); + "Bad option \"-%c\"\n", currentFlag); usage(); } j++; - current_flag = argv[i][j]; + currentFlag = argV[i][j]; } } } @@ -285,18 +324,18 @@ int main(argC, argV) // for only a single input file, leave this as it is. // ******************************************************** - if( inName != NULL ){ - fprintf( stderr, - "\n" - "Error at \"%s\", program does not currently support\n" - "more than one input file.\n" - "\n", - argV[i]); - usage(); - exit(0); - } +// if( inName != NULL ){ +// fprintf( stderr, +// "\n" +// "Error at \"%s\", program does not currently support\n" +// "more than one input file.\n" +// "\n", +// argV[i]); +// usage(); +// exit(0); +// } - inName = argvV[i]; +// inName = argV[i]; // ************************************************************* @@ -335,24 +374,24 @@ int main(argC, argV) // *********************************************************** // single file: - if(inName == NULL){ +// if(inName == NULL){ - fprintf( stderr, - "\n" - "Error, no input file was given\n"); - usage(); - exit(0); - } +// fprintf( stderr, +// "\n" +// "Error, no input file was given\n"); +// usage(); +// exit(0); +// } - inFile = fopen( inName, "r" ); - if( inFile == NULL ){ +// inFile = fopen( inName, "r" ); +// if( inFile == NULL ){ - fprintf( stderr, - "\n" - "Error trying to open \"%s\" for reading\n", - inName ); - exit(0); - } +// fprintf( stderr, +// "\n" +// "Error trying to open \"%s\" for reading\n", +// inName ); +// exit(0); +// } // ************************************************************** // multiple files: @@ -380,8 +419,8 @@ int main(argC, argV) currentName = headName; while( currentName != NULL ){ - strcopy( inputArray[j].fileName, currentName->name ); - inputArray[i].filePtr = NULL; + strcpy( inputArray[j].fileName, currentName->name ); + inputArray[j].filePtr = NULL; j--; currentName = currentName->next; } @@ -401,7 +440,7 @@ int main(argC, argV) for(i=0; i\n" "\n" "Options:\n" @@ -478,6 +518,6 @@ void usage(){ "\n" "\n", - program_name) + programName); exit(0); }