home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume4 / match1.2 / MkDescVec.c < prev    next >
C/C++ Source or Header  |  1986-11-30  |  831b  |  35 lines

  1. #include "match.h"
  2. #ifdef STRINGS  
  3. #include <strings.h>
  4. #else
  5. /* some systems use <strings.h>, others use <string.h> */
  6. #include <string.h>
  7. #endif
  8. #ifndef index
  9. /* some systems use "strchr" instead of "index" */
  10. #define index strchr
  11. #endif
  12. /* scan a newline-separated string of patterns and set up the
  13. * vector of descriptors, one pattern descriptor per pattern. 
  14. * Return the number of patterns */
  15. int
  16. MkDescVec(DescVec, Pats)
  17. struct PattDesc *DescVec[];
  18. char *Pats;
  19. {
  20.     int NPats = 0;
  21.     char *EndPat;
  22.     extern struct PattDesc *MakeDesc();
  23.     while (*Pats && (EndPat = index(Pats,'\n')) && NPats < MAXPATS) {
  24.         *EndPat = '\0';
  25.         DescVec[NPats] = MakeDesc(Pats);
  26.         Pats = EndPat + 1;
  27.         ++NPats;
  28.     } /* while */
  29.     if (*Pats && NPats < MAXPATS) {
  30.         DescVec[NPats] = MakeDesc(Pats);
  31.         ++NPats;
  32.     } /* if */
  33.     return(NPats);
  34. } /* MkDescVec */
  35.