[BACK]Return to oxgentexi.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / util

Diff for /OpenXM/src/util/oxgentexi.c between version 1.15 and 1.19

version 1.15, 2013/08/31 08:16:02 version 1.19, 2020/10/03 08:24:14
Line 1 
Line 1 
 /*  $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 <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
Line 21  struct item {
Line 21  struct item {
   char *changelog;    char *changelog;
   char *examplev[VMAX];    char *examplev[VMAX];
   char *exampleDescv[VMAX];    char *exampleDescv[VMAX];
     char *options;
   int examplec;    int examplec;
   int refc;    int refc;
   char *refv[VMAX];    char *refv[VMAX];
Line 255  printItem(struct item *it) {
Line 256  printItem(struct item *it) {
     printf("exampleDescv[%d]=%s\n",i,it->exampleDescv[i]);      printf("exampleDescv[%d]=%s\n",i,it->exampleDescv[i]);
   if (it->changelog != NULL)    if (it->changelog != NULL)
     printf("changelog=%s\n",it->changelog);      printf("changelog=%s\n",it->changelog);
     if (it->options != NULL)
       printf("options=%s\n",it->options);
   for (i=0; i<it->refc; i++)    for (i=0; i<it->refc; i++)
     printf("  refv[%d]=%s\n",i,it->refv[i]);      printf("  refv[%d]=%s\n",i,it->refv[i]);
   if (it->author != NULL)    if (it->author != NULL)
Line 397  struct item *getItem() {
Line 400  struct item *getItem() {
         strcmp(key,"changelog:") == 0 ||          strcmp(key,"changelog:") == 0 ||
         strcmp(key,"sortKey:") == 0 ||          strcmp(key,"sortKey:") == 0 ||
         strcmp(key,"example:") == 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;        pp = p;
       strcpy(key2,key);        strcpy(key2,key);
       do {        do {
Line 412  struct item *getItem() {
Line 419  struct item *getItem() {
       if (strcmp(key2,"description:") == 0) {        if (strcmp(key2,"description:") == 0) {
         it->description = str2(&(S[pp]),pOld-pp);          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->examplev[examplec++] = str2(&(S[pp]),pOld-pp);
         it->exampleDescv[examplec-1] = "";          it->exampleDescv[examplec-1] = "";
         it->examplec = examplec;          it->examplec = examplec;
Line 437  struct item *getItem() {
Line 444  struct item *getItem() {
       if (strcmp(key2,"changelog:") == 0) {        if (strcmp(key2,"changelog:") == 0) {
         it->changelog = str2(&(S[pp]),pOld-pp);          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) {      }else if (strcmp(key,"ref:") == 0) {
       argc = 0;        argc = 0;
       while ((pp=nextToken(key,LIMIT)) >= 0) {        while ((pp=nextToken(key,LIMIT)) >= 0) {
Line 452  struct item *getItem() {
Line 462  struct item *getItem() {
         }          }
       }        }
     }else{      }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 ");            fprintf(stderr,"       The error occurs around ");
           for (i=pp ; i < p; i++) fputc(S[i],stderr);            for (i=pp ; i < p; i++) fputc(S[i],stderr);
           fprintf(stderr,"\n\n");            fprintf(stderr,"\n\n");
           exit(1);  
       p = nextToken(key,LIMIT);        p = nextToken(key,LIMIT);
     }      }
   }while (p >= 0);    }while (p >= 0);
Line 505  printTexi(FILE *fp, struct item *it) {
Line 514  printTexi(FILE *fp, struct item *it) {
 void  void
 printTexi_common(FILE *fp,struct item *it) {  printTexi_common(FILE *fp,struct item *it) {
   int i;    int i;
     int elen;
   if ((it->shortDescription != NULL) || (it->refc >0)    if ((it->shortDescription != NULL) || (it->refc >0)
       || (it->examplec > 0)) {        || (it->examplec > 0)) {
     if (it->description != NULL) {      if (it->description != NULL) {
Line 534  printTexi_common(FILE *fp,struct item *it) {
Line 544  printTexi_common(FILE *fp,struct item *it) {
       if (GenExample) {        if (GenExample) {
         outputOfExample(it->examplev[i]);          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) {        if (it->exampleDescv[i] != NULL && strlen(it->exampleDescv[i]) > 0) {
         fprintf(fp,"%s\n\n",it->exampleDescv[i]);          fprintf(fp,"%s\n\n",it->exampleDescv[i]);
       }        }
Line 547  printTexi_common(FILE *fp,struct item *it) {
Line 559  printTexi_common(FILE *fp,struct item *it) {
     fprintf(fp,"\n\nChange Log:\n@quotation\n");      fprintf(fp,"\n\nChange Log:\n@quotation\n");
     fprintf(fp,"%s\n@end quotation\n",it->changelog);      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) {    if (it->refc > 0) {
     fprintf(fp,"\n\nReferences:\n@quotation\n");      fprintf(fp,"\n\nReferences:\n@quotation\n");
     for (i=0; i <it->refc; i++) {      for (i=0; i <it->refc; i++) {
Line 689  void
Line 705  void
 outputOfExample(char *com) {  outputOfExample(char *com) {
   FILE *fp2;    FILE *fp2;
   int c;    int c;
     int r;
   fp2 = fopen("gentexi-in.tmp","w");    fp2 = fopen("gentexi-in.tmp","w");
   if (fp2 == NULL) {    if (fp2 == NULL) {
     fprintf(stderr,"Cannot open tentexi-in.tmp\n");      fprintf(stderr,"Cannot open tentexi-in.tmp\n");
     exit(10);      exit(10);
   }    }
   system("rm -f gentexi-out.tmp");    r=system("rm -f gentexi-out.tmp");
   fprintf(fp2,"output(\"gentexi-out.tmp\")$\n");    fprintf(fp2,"output(\"gentexi-out.tmp\")$\n");
   fprintf(fp2,"%s\n",com);    fprintf(fp2,"%s\n",com);
   fprintf(fp2,"output()$\n");    fprintf(fp2,"output()$\n");
   fprintf(fp2,"quit;");    fprintf(fp2,"quit;");
   fclose(fp2);    fclose(fp2);
   system("asir <gentexi-in.tmp >/dev/null");    r=system("asir <gentexi-in.tmp >/dev/null");
   
   fp2 = fopen("gentexi-out.tmp","r");    fp2 = fopen("gentexi-out.tmp","r");
   if (fp2 == NULL) {    if (fp2 == NULL) {

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.19

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>