home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / modelers / linkedit / linkedit.lha / link-edit / LinkEdit / Choose / command.c.old < prev    next >
Encoding:
Text File  |  1991-03-13  |  2.2 KB  |  107 lines

  1. #include <stdio.h>
  2.  
  3. main(argc,argv)
  4.   int argc;
  5.   char **argv;
  6. { int i,write=0;
  7.   int namesc=0,scount=0;
  8.   char **namesv;
  9.   char *dr;
  10.   FILE *fp;
  11.   fp=stdout;
  12.   dr=(char *)malloc(3*sizeof(char));
  13.   strcpy(dr,".");
  14.   *argv++; argc--;
  15.   while (argc-->0)
  16.   {
  17.     if (strcmp(*argv,"-w")==0 || strcmp(*argv,"-write")==0) 
  18.     {
  19.       write=1;
  20.       *argv++;
  21.       continue;
  22.     }
  23.     if (strcmp(*argv,"-r")==0 || strcmp(*argv,"-read")==0) 
  24.     {
  25.       write=0;
  26.       *argv++;
  27.       continue;
  28.     }
  29.     if (strcmp(*argv,"-d")==0 || strcmp(*argv,"-dir")==0)
  30.     { 
  31.       *argv++;
  32.       if (argc-->0) 
  33.       {
  34.         free(dr);
  35.         dr=(char *)malloc((strlen(*argv)+2)*sizeof(char));
  36.         strcpy(dr,*argv);
  37.         *argv++;
  38.         continue;
  39.       }
  40.       else
  41.       {
  42.         fprintf(stderr,"directory name not specified\n");
  43.         exit(1);
  44.       }
  45.     }
  46.  
  47.     if (strcmp(*argv,"-n")==0 || strcmp(*argv,"-names")==0)
  48.     {
  49.       if (argc-->0) 
  50.       { *argv++;
  51.         namesc=atoi(*argv);
  52.         namesv=(char **)malloc(namesc*sizeof(char *));
  53.         *argv++;
  54.         for(i=0; i<namesc; i++)
  55.           if (argc-->0)
  56.           {
  57.             *(namesv+i)=(char *)malloc((strlen(*argv)+2)*sizeof(char));
  58.             strcpy(*(namesv+i),*argv); 
  59.             *argv++;
  60.           }
  61.           else
  62.           {
  63.             fprintf(stderr,"not enough file names\n");
  64.             exit(1);
  65.           }
  66.         continue;
  67.       }
  68.       else
  69.       {
  70.         fprintf(stderr,"no number of files specified\n");
  71.         exit(1);
  72.       }
  73.     }
  74.     if (strcmp(*argv,"-s")==0 || strcmp(*argv,"-suffix")==0)
  75.     {
  76.       if (argc-->0) 
  77.       { *argv++;
  78.         scount=atoi(*argv);
  79.         *argv++;
  80.         for(i=0; i<scount; i++)
  81.           if (argc-->0)
  82.           {  
  83.             addsuff(*argv);
  84.             *argv++;
  85.           }
  86.           else
  87.           {
  88.             fprintf(stderr,"not enough suffix names\n");
  89.             exit(1);
  90.           }
  91.         continue;
  92.       }
  93.       else
  94.       {
  95.         fprintf(stderr,"no number of suffixes specified\n");
  96.         exit(1);
  97.       }
  98.     }
  99.  
  100.   }
  101.   choosefile(&namesc,&namesv,&dr,dr,write);
  102.   fprintf(fp,"%4d \n", namesc);
  103.   for(i=0; i<namesc; i++)
  104.     fprintf(fp,"%s \n", *(namesv+i));
  105.   fprintf(fp,"%s \n",dr);
  106.   chfree(&namesc,&namesv);
  107. }