=================================================================== RCS file: /home/cvs/OpenXM/src/util/oxgentexi.c,v retrieving revision 1.4 retrieving revision 1.6 diff -u -p -r1.4 -r1.6 --- OpenXM/src/util/oxgentexi.c 2005/04/05 13:12:06 1.4 +++ OpenXM/src/util/oxgentexi.c 2005/04/06 09:26:29 1.6 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/util/oxgentexi.c,v 1.3 2005/04/04 12:38:32 takayama Exp $ */ +/* $OpenXM: OpenXM/src/util/oxgentexi.c,v 1.5 2005/04/06 05:08:11 takayama Exp $ */ #include int Debug = 0; @@ -300,6 +300,7 @@ struct item *getItem() { int pp,pOld; int argc; int examplec = 0; + int i; it = newItem(); do { p = nextToken(key,LIMIT); @@ -379,8 +380,11 @@ struct item *getItem() { do { pOld = p; p = nextToken(key,LIMIT); - /* printf("%s\n",key); */ - if (key[strlen(key)-1] == ':') break; /* Next keyword. */ + /* printf("key=%s\n",key); */ + if (key[strlen(key)-1] == ':') { + pOld = p-strlen(key); + break; /* Next keyword. */ + } }while (p >= 0); if (strcmp(key2,"description:") == 0) { it->description = str2(&(S[pp]),pOld-pp); @@ -422,7 +426,11 @@ struct item *getItem() { } } }else{ - fprintf(stderr,"Warning: unknown keyword << %s >> at %s. Ignored.\n",key, it->name); + fprintf(stderr,"Error: unknown keyword << %s >> at %s.\n",key, it->name); + fprintf(stderr," The error occurs around "); + for (i=pp ; i < p; i++) fputc(S[i],stderr); + fprintf(stderr,"\n\n"); + exit(1); p = nextToken(key,LIMIT); } }while (p >= 0); @@ -512,7 +520,7 @@ printTexi_common(FILE *fp,struct item *it) { printTexi0(FILE *fp, struct item *it) { int i; - fprintf(fp,"@c DO NOT EDIT THIS FILE. Generated by gentexi0.\n"); + fprintf(fp,"@c DO NOT EDIT THIS FILE. Generated by gentexi for asir function item.\n"); if (it == NULL) { fprintf(fp,"@c item is NULL.\n"); return ; @@ -586,7 +594,7 @@ printTexi1(FILE *fp, struct item *it) { int i; /* For it->type == 1 */ - fprintf(fp,"@c DO NOT EDIT THIS FILE. Generated by gentexi1.\n"); + fprintf(fp,"@c DO NOT EDIT THIS FILE. Generated by gentexi for verbose item.\n"); if (it == NULL) { fprintf(fp,"@c item is NULL.\n"); return ; @@ -620,7 +628,9 @@ outputExample(FILE *fp,char *s) { fprintf(fp,":"); i += 5; }else fprintf(fp,"@@"); }else{ - fputc(s[i],fp); + if (s[i] == '{') {fprintf(fp,"%s","@{"); } + else if (s[i] == '}') {fprintf(fp,"%s","@}");} + else fputc(s[i],fp); } } }