=================================================================== RCS file: /home/cvs/OpenXM/src/util/oxgentexi.c,v retrieving revision 1.9 retrieving revision 1.14 diff -u -p -r1.9 -r1.14 --- OpenXM/src/util/oxgentexi.c 2005/05/04 10:32:36 1.9 +++ OpenXM/src/util/oxgentexi.c 2005/08/15 16:28:59 1.14 @@ -1,6 +1,8 @@ -/* $OpenXM: OpenXM/src/util/oxgentexi.c,v 1.8 2005/04/14 02:21:49 takayama Exp $ */ +/* $OpenXM: OpenXM/src/util/oxgentexi.c,v 1.13 2005/07/21 11:29:16 takayama Exp $ */ #include +#include +#include int Debug = 0; #define VMAX 20 #define LIMIT 65536 @@ -170,10 +172,7 @@ struct item * newItem(){ fprintf(stderr,"newItem: No more memory.\n"); exit(20); } - a->argc = 0; a->optc = 0; a->refc=0; a->examplec = 0; - a->type=0; - a->category = a->category2 = a->name = a->shortDescription - = a->description = a->author = a->algorithm = a->sortKey = NULL; + memset(a, 0, sizeof(struct item)); return a; } @@ -485,8 +484,16 @@ printTexi(FILE *fp, struct item *it) { printTexi_common(FILE *fp,struct item *it) { int i; - if (it->description != NULL) { - fprintf(fp,"%s\n\n",it->description); + if ((it->shortDescription != NULL) || (it->refc >0) + || (it->examplec > 0)) { + if (it->description != NULL) { + fprintf(fp,"\nDescription:\n"); + fprintf(fp,"@quotation\n%s\n@end quotation\n\n",it->description); + } + }else { + if (it->description != NULL) { + fprintf(fp,"%s\n\n",it->description); + } } if (it->algorithm != NULL) { @@ -632,6 +639,12 @@ printTexi1(FILE *fp, struct item *it) { outputExample(FILE *fp,char *s) { int i; + /* Remove unnecessary spaces at the tail. */ + for (i=strlen(s)-1; i>=0; i--) { + if (s[i] == '\n') break; + else if (s[i] <= ' ') {s[i] = 0;} + else break; + } for (i=0; s[i] != 0; i++) { if (s[i] == '@') { if (s[i+1] == '{') {fprintf(fp,"%s","@{"); i += 1;}