--- loncom/homework/CAPA-converter/convert.c 2001/05/02 21:47:51 1.2 +++ loncom/homework/CAPA-converter/convert.c 2001/11/18 09:09:52 1.3 @@ -10,14 +10,17 @@ #include #include #include +#include +extern char *optarg; +extern int optind, opterr, optout; #define YES 1 #include "capaCommon.h" char *progname; - +char *import_prefix="/res/capa"; void print_answer(FILE *o_fp,int ans_cnt,char *ans,char *lower,char *upper,char *unit) @@ -35,27 +38,52 @@ void print_question (FILE *o_fp,char *qu fprintf(o_fp,"BQES:\n%s\nEQES:\n",question); } -int main (int argc, char **argv) +int get_options ( int argc, char **argv, char ** filename) +{ + int opt; + /*opterr=0;*/ + while ((opt=getopt(argc,argv,"i:f:"))!=-1) { + switch (opt) { + case 'i': + import_prefix=optarg; + break; + case 'f': + *filename=optarg; + break; + case '?': + return -1; + break; + } + } + return 0; +} + +int main (int argc, char **argv) { extern int Parsemode_f; - extern int managermode; - Problem_t *first_prob,*p; - int q_cnt, num_answers, result, setIdx = 1, q_idx; + /* unused + extern int managermode; + int num_answers, q_idx; char lower[ANSWER_STRING_LENG], upper[ANSWER_STRING_LENG]; int StartSet = 1, EndSet = 1; char tmp_str[ANSWER_STRING_LENG]; double tmp_ans; T_student a_student; + Problem_t *p; + */ + Problem_t *first_prob; + int result, setIdx = 1, q_cnt; + char * filename=NULL; Parsemode_f=ASCII_MODE; - if ( argc > 3 || argc < 2 ) { - printf("USAGE: %s filename\n", - argv[0]); + + if ( get_options(argc,argv,&filename) == -1 || filename==NULL ) { + printf("USAGE: %s [-i prefix] -f filename\n",argv[0]); exit(-1); } - - result = capa_parse(setIdx, &first_prob, argv[1] ,&q_cnt,NULL); + + result = capa_parse(setIdx, &first_prob, filename ,&q_cnt,NULL); return (0); }