--- loncom/homework/CAPA-converter/convert.c 2001/05/02 21:47:51 1.2 +++ loncom/homework/CAPA-converter/convert.c 2001/12/04 15:17:57 1.4 @@ -1,3 +1,30 @@ +/* The LearningOnline Network with CAPA + * Main convert code, option parsing and startup + * $Id: convert.c,v 1.4 2001/12/04 15:17:57 albertel Exp $ + * + * Copyright Michigan State University Board of Trustees + * + * This file is part of the LearningOnline Network with CAPA (LON-CAPA). + * + * LON-CAPA is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * LON-CAPA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with LON-CAPA; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * /home/httpd/html/adm/gpl.txt + * + * http://www.lon-capa.org/ + */ + /* ======================================================================== */ /* Feb. 10 1997 Isaac Tsai */ /* ======================================================================== */ @@ -10,14 +37,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 +65,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); }