[BACK]Return to cmotagToName.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / plugin

Annotation of OpenXM/src/kan96xx/plugin/cmotagToName.c, Revision 1.1

1.1     ! maekawa     1: #include <stdio.h>
        !             2: #include "cmotag.h"
        !             3: #define BSIZE 1024
        !             4:
        !             5: main() {
        !             6:   FILE *fp;
        !             7:   char s[BSIZE];
        !             8:   int i, start;
        !             9:   char *a;
        !            10:   fp = fopen("cmotag.h","r");
        !            11:   if (fp == NULL) {
        !            12:     fprintf(stderr,"Inputfile cmotag.h could be found.\n");
        !            13:     exit(10);
        !            14:   }
        !            15:
        !            16:   fprintf(stderr,"cmotagToName.c is generating the function cmotagToName.\n");
        !            17:   printf("/* This is automatically generated by cmotagToName.c. DO NOT EDIT.*/\n");
        !            18:   printf("static char *cmotagToName(int p) {\n");
        !            19:   printf("if (0) { ; \n");
        !            20:   while (fgets(s,BSIZE-11,fp) != NULL) {
        !            21:     for (i=start=0; i<BSIZE-10; i++) {
        !            22:       if (s[i] == '\0') goto aa ;
        !            23:       if (s[i] == '#') {
        !            24:        s[i+7] = '\0';
        !            25:        if (strcmp(&(s[i+1]),"define") != 0) goto aa ;
        !            26:        start = i+8;
        !            27:        break;
        !            28:       }
        !            29:     }
        !            30:     i = start;
        !            31:     while (s[i] <= ' ') {
        !            32:       if (s[i] == '\0') goto aa ;
        !            33:       i++;
        !            34:     }
        !            35:     start = i;
        !            36:     while (s[i] > ' ') {
        !            37:       i++;
        !            38:     }
        !            39:     s[i] = '\0';
        !            40:     /* CMO_XXXX is stored in s[start], ..., s[i]='\0' */
        !            41:     a = &(s[start]);
        !            42:     /* printf("%s\n",a); */
        !            43:     printf("} else if (p == %s) {\n",a);
        !            44:     printf("  return(\"%s\");\n",a);
        !            45:
        !            46:     aa: ;
        !            47:   }
        !            48:   printf("} else { return(\"Unknown tag\"); }\n");
        !            49:   printf("}\n");
        !            50:   exit(0);
        !            51: }
        !            52:
        !            53:
        !            54:

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