[BACK]Return to gen-plist.c CVS log [TXT][DIR] Up to [local] / OpenXM / misc / packages / FreeBSD / openxm-ports / openxm-1.1.3 / files

Annotation of OpenXM/misc/packages/FreeBSD/openxm-ports/openxm-1.1.3/files/gen-plist.c, Revision 1.1

1.1     ! takayama    1: /* $OpenXM$ */
        !             2: #include <stdio.h>
        !             3: #include <sys/types.h>
        !             4: #include <sys/stat.h>
        !             5: #include <unistd.h>
        !             6: /* References are
        !             7:     /usr/src/bin/ls/print.c   readlink
        !             8:     /usr/port/japanese/dvipsk-vflib/pkg/PLIST
        !             9:
        !            10: */
        !            11:
        !            12:
        !            13: main() {
        !            14:   char s[512];
        !            15:   char s0[512];
        !            16:   char lnk[1024];
        !            17:   int i;
        !            18:   int n;
        !            19:   int flag = 0;
        !            20:   struct stat sb;
        !            21:   int p;
        !            22:
        !            23:   /* Initial data */
        !            24:   system("grep \'$OpenXM\' ../pkg/PLIST");
        !            25:   system("grep \'$OpenXM\' ../../pkg/PLIST");
        !            26:   printf("bin/asir\n");
        !            27:   printf("bin/sm1\n");
        !            28:   printf("bin/oxMathematica\n");
        !            29:   printf("bin/oxmath\n");
        !            30:   printf("bin/ox\n");
        !            31:   printf("bin/oxgp\n");
        !            32:   printf("bin/openxm\n");
        !            33:   printf("man/man1/sm1.1.gz\n");
        !            34:   printf("man/man1/openxm.1.gz\n");
        !            35:
        !            36:   while (fgets(s0,512,stdin) != NULL) {
        !            37:        n = strlen(s0);
        !            38:        if (n <= 1) goto LLL;
        !            39:        if (s0[n-1] == '\n') s0[n-1] = '\0';
        !            40:        if (s0[0] == '.' && s0[1] == '/' && s0[2] == '.') goto LLL;
        !            41:        if (s0[0] == '.' && s0[1] == '/' ) {
        !            42:          strcpy(s,&(s0[2]));
        !            43:        }else{
        !            44:          strcpy(s,s0);
        !            45:        }
        !            46:        n = strlen(s);
        !            47:        flag = 0;
        !            48:        if (n == 0) goto LLL;
        !            49:        if (isExclude(s,"/CVS/")) goto LLL;
        !            50:        if (isExclude(s,".done")) goto LLL;
        !            51:        if (isExclude(s,".uuencoded")) goto LLL;
        !            52:        if (isExclude(s,"DO_NOT_EDIT")) goto LLL;
        !            53:        if (isExclude(s,"~")) goto LLL;
        !            54:        if (isExclude(s,".#")) goto LLL;
        !            55:        if (isExclude(s,"OpenXM/doc/histrical-doc")) goto LLL;
        !            56:        if (isExclude(s,".log")) goto LLL;
        !            57:        if (isExclude(s,"fep.linux")) goto LLL;
        !            58:        if (isExclude(s,"/Old/")) goto LLL;
        !            59:        if (isExclude(s,"/debug/.sm1")) goto LLL;
        !            60:        if (isExclude(s,".aux")) goto LLL;
        !            61:        if (isExclude(s,".toc")) goto LLL;
        !            62:        if (isExclude(s,".keepme")) goto LLL;
        !            63:        if (isExclude(s,"/sm1/ole")) goto LLL;
        !            64:        if (isExclude(s,"OpenXM/lib/sm1/ttt")) goto LLL;
        !            65:        if (isExclude(s,".sm1.org")) goto LLL;
        !            66:        if (isExclude(s,"OpenXM/lib/sm1/onlinehelp")) goto LLL;
        !            67:        if (isExclude(s,"OpenXM/lib/sm1/printOnlineHelp")) goto LLL;
        !            68:        if (isExclude(s,"OpenXM/lib/sm1/Makefile")) goto LLL;
        !            69:        if (isExclude(s,"issac2000")) goto LLL;
        !            70:        if (isExclude(s,"doc/Papers")) goto LLL;
        !            71:        if (isExclude(s,"doc/OpenXM-web")) goto LLL;
        !            72:        if (isExclude(s,"doc/Makefile")) goto LLL;
        !            73:        if (isExclude(s,"doc/install")) goto LLL;
        !            74:        if (isExclude(s,"doc/compalg")) goto LLL;
        !            75:
        !            76:
        !            77:        if (lstat(s,&sb) < 0) fprintf(stderr,"The file %s is not found.\n",s);
        !            78:        if (S_ISLNK(sb.st_mode)) {
        !            79:          /* symbolic link */
        !            80:          p = readlink(s,lnk,1024);
        !            81:          if (p > 0) lnk[p] = '\0';
        !            82:          else {
        !            83:                fprintf(stderr,"readlink could not get the symbolic link of %s\n",s);
        !            84:          }
        !            85:          printf("@exec ln -fs %s %%D/%s\n",lnk,s);
        !            86:        }else{
        !            87:          printf("%s\n",s);
        !            88:        }
        !            89:
        !            90:   LLL: ;
        !            91:
        !            92:   }
        !            93:   printf("@dirrm OpenXM\n");
        !            94: }
        !            95:
        !            96: isExclude(char *s,char *pattern) {
        !            97:   int n;
        !            98:   int m;
        !            99:   int i,j;
        !           100:   n = strlen(pattern);
        !           101:   m = strlen(s);
        !           102:   /* printf("%s %s\n",s,pattern); */
        !           103:   for (i=0; i< m -n +1; i++) {
        !           104:        for (j=0; j<n; j++) {
        !           105:          /* printf("%c %c, ",pattern[j], s[i+j]); */
        !           106:          if (pattern[j] != s[i+j]) goto PPP;
        !           107:        }
        !           108:        return(1);
        !           109:   PPP: ;
        !           110:   }
        !           111:   return(0);
        !           112: }

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