=================================================================== RCS file: /home/cvs/OpenXM/src/util/oxgentexi.c,v retrieving revision 1.15 retrieving revision 1.19 diff -u -p -r1.15 -r1.19 --- OpenXM/src/util/oxgentexi.c 2013/08/31 08:16:02 1.15 +++ OpenXM/src/util/oxgentexi.c 2020/10/03 08:24:14 1.19 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/util/oxgentexi.c,v 1.14 2005/08/15 16:28:59 ohara Exp $ */ +/* $OpenXM: OpenXM/src/util/oxgentexi.c,v 1.18 2017/03/28 12:00:04 takayama Exp $ */ #include #include @@ -21,6 +21,7 @@ struct item { char *changelog; char *examplev[VMAX]; char *exampleDescv[VMAX]; + char *options; int examplec; int refc; char *refv[VMAX]; @@ -255,6 +256,8 @@ printItem(struct item *it) { printf("exampleDescv[%d]=%s\n",i,it->exampleDescv[i]); if (it->changelog != NULL) printf("changelog=%s\n",it->changelog); + if (it->options != NULL) + printf("options=%s\n",it->options); for (i=0; irefc; i++) printf(" refv[%d]=%s\n",i,it->refv[i]); if (it->author != NULL) @@ -397,7 +400,11 @@ struct item *getItem() { strcmp(key,"changelog:") == 0 || strcmp(key,"sortKey:") == 0 || strcmp(key,"example:") == 0 || - strcmp(key,"example_description:") ==0 ) { + strcmp(key,"example_description:") ==0 || + strcmp(key,"options:") ==0 || + strcmp(key,"Options:") ==0 || + strcmp(key,"Example:") ==0 + ) { pp = p; strcpy(key2,key); do { @@ -412,7 +419,7 @@ struct item *getItem() { if (strcmp(key2,"description:") == 0) { it->description = str2(&(S[pp]),pOld-pp); } - if (strcmp(key2,"example:") == 0) { + if ((strcmp(key2,"example:") == 0) || (strcmp(key2,"Example:") == 0)) { it->examplev[examplec++] = str2(&(S[pp]),pOld-pp); it->exampleDescv[examplec-1] = ""; it->examplec = examplec; @@ -437,6 +444,9 @@ struct item *getItem() { if (strcmp(key2,"changelog:") == 0) { it->changelog = str2(&(S[pp]),pOld-pp); } + if ((strcmp(key2,"options:") == 0) || (strcmp(key2,"Options:")==0)) { + it->options = str2(&(S[pp]),pOld-pp); + } }else if (strcmp(key,"ref:") == 0) { argc = 0; while ((pp=nextToken(key,LIMIT)) >= 0) { @@ -452,11 +462,10 @@ struct item *getItem() { } } }else{ - fprintf(stderr,"Error: unknown keyword << %s >> at %s.\n",key, it->name); + fprintf(stderr,"Warning: 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); @@ -505,6 +514,7 @@ printTexi(FILE *fp, struct item *it) { void printTexi_common(FILE *fp,struct item *it) { int i; + int elen; if ((it->shortDescription != NULL) || (it->refc >0) || (it->examplec > 0)) { if (it->description != NULL) { @@ -534,7 +544,9 @@ printTexi_common(FILE *fp,struct item *it) { if (GenExample) { outputOfExample(it->examplev[i]); } - fprintf(fp,"@end example\n"); + elen=strlen(it->examplev[i]); + if ((it->examplev[i])[elen-1] == '\n') fprintf(fp,"@end example\n"); + else fprintf(fp,"\n@end example\n"); if (it->exampleDescv[i] != NULL && strlen(it->exampleDescv[i]) > 0) { fprintf(fp,"%s\n\n",it->exampleDescv[i]); } @@ -547,6 +559,10 @@ printTexi_common(FILE *fp,struct item *it) { fprintf(fp,"\n\nChange Log:\n@quotation\n"); fprintf(fp,"%s\n@end quotation\n",it->changelog); } + if (it->options != NULL) { + fprintf(fp,"\nOptinal variabes:"); + fprintf(fp,"%s\n\n",it->options); + } if (it->refc > 0) { fprintf(fp,"\n\nReferences:\n@quotation\n"); for (i=0; i refc; i++) { @@ -689,18 +705,19 @@ void outputOfExample(char *com) { FILE *fp2; int c; + int r; fp2 = fopen("gentexi-in.tmp","w"); if (fp2 == NULL) { fprintf(stderr,"Cannot open tentexi-in.tmp\n"); exit(10); } - system("rm -f gentexi-out.tmp"); + r=system("rm -f gentexi-out.tmp"); fprintf(fp2,"output(\"gentexi-out.tmp\")$\n"); fprintf(fp2,"%s\n",com); fprintf(fp2,"output()$\n"); fprintf(fp2,"quit;"); fclose(fp2); - system("asir /dev/null"); + r=system("asir /dev/null"); fp2 = fopen("gentexi-out.tmp","r"); if (fp2 == NULL) {