exclude.c
上传用户:xiejiait
上传日期:2007-01-06
资源大小:881k
文件大小:1k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. /*
  2.  * 9-Dec-93 R.-D. Marzusch, marzusch@odiehh.hanse.de:
  3.  * added 'exclude' option (-x) to specify pathnames NOT to be included in 
  4.  * CD image.
  5.  */
  6. static char rcsid[] ="$Id: exclude.c,v 1.2 1997/02/23 16:12:34 eric Rel $";
  7. #include <stdio.h>
  8. #ifndef VMS
  9. #ifdef HAVE_MALLOC_H
  10. #include <malloc.h>
  11. #else
  12. #include <stdlib.h>
  13. #endif
  14. #endif
  15. #include <string.h>
  16. #ifdef USE_LIBSCHILY
  17. #include <standard.h>
  18. #endif
  19. /* this allows for 1000 entries to be excluded ... */
  20. #define MAXEXCL 1000
  21. static char * excl[MAXEXCL];
  22. void exclude(fn)
  23. char * fn;
  24. {
  25.   register int i;
  26.   for (i=0; excl[i] && i<MAXEXCL; i++);
  27.   if (i == MAXEXCL) {
  28.     fprintf(stderr,"Can't exclude '%s' - too many entries in tablen",fn);
  29.     return;
  30.   }
  31.  
  32.   excl[i] = (char *) malloc(strlen(fn)+1);
  33.   if (excl[i] == NULL) {
  34. #ifdef USE_LIBSCHILY
  35.     errmsg("Can't allocate memory for excluded filenamen");
  36. #else
  37.     fprintf(stderr,"Can't allocate memory for excluded filenamen");
  38. #endif
  39.     return;
  40.   }
  41.   strcpy(excl[i],fn);
  42. }
  43. int is_excluded(fn)
  44. char * fn;
  45. {
  46.   /* very dumb search method ... */
  47.   register int i;
  48.   for (i=0; excl[i] && i<MAXEXCL; i++) {
  49.     if (strcmp(excl[i],fn) == 0) {
  50.       return 1; /* found -> excluded filenmae */
  51.     }
  52.   }
  53.   return 0; /* not found -> not excluded */
  54. }