home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- main(argc,argv)
- int argc;
- char **argv;
- { int i,write=0;
- int namesc=0,scount=0;
- char **namesv;
- char *dr;
- FILE *fp;
- fp=stdout;
- dr=(char *)malloc(3*sizeof(char));
- strcpy(dr,".");
- *argv++; argc--;
- while (argc-->0)
- {
- if (strcmp(*argv,"-w")==0 || strcmp(*argv,"-write")==0)
- {
- write=1;
- *argv++;
- continue;
- }
- if (strcmp(*argv,"-r")==0 || strcmp(*argv,"-read")==0)
- {
- write=0;
- *argv++;
- continue;
- }
- if (strcmp(*argv,"-d")==0 || strcmp(*argv,"-dir")==0)
- {
- *argv++;
- if (argc-->0)
- {
- free(dr);
- dr=(char *)malloc((strlen(*argv)+2)*sizeof(char));
- strcpy(dr,*argv);
- *argv++;
- continue;
- }
- else
- {
- fprintf(stderr,"directory name not specified\n");
- exit(1);
- }
- }
-
- if (strcmp(*argv,"-n")==0 || strcmp(*argv,"-names")==0)
- {
- if (argc-->0)
- { *argv++;
- namesc=atoi(*argv);
- namesv=(char **)malloc(namesc*sizeof(char *));
- *argv++;
- for(i=0; i<namesc; i++)
- if (argc-->0)
- {
- *(namesv+i)=(char *)malloc((strlen(*argv)+2)*sizeof(char));
- strcpy(*(namesv+i),*argv);
- *argv++;
- }
- else
- {
- fprintf(stderr,"not enough file names\n");
- exit(1);
- }
- continue;
- }
- else
- {
- fprintf(stderr,"no number of files specified\n");
- exit(1);
- }
- }
- if (strcmp(*argv,"-s")==0 || strcmp(*argv,"-suffix")==0)
- {
- if (argc-->0)
- { *argv++;
- scount=atoi(*argv);
- *argv++;
- for(i=0; i<scount; i++)
- if (argc-->0)
- {
- addsuff(*argv);
- *argv++;
- }
- else
- {
- fprintf(stderr,"not enough suffix names\n");
- exit(1);
- }
- continue;
- }
- else
- {
- fprintf(stderr,"no number of suffixes specified\n");
- exit(1);
- }
- }
-
- }
- choosefile(&namesc,&namesv,&dr,dr,write);
- fprintf(fp,"%4d \n", namesc);
- for(i=0; i<namesc; i++)
- fprintf(fp,"%s \n", *(namesv+i));
- fprintf(fp,"%s \n",dr);
- chfree(&namesc,&namesv);
- }