home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / unix / unixlib36d / src / c / strspn < prev    next >
Text File  |  1994-03-08  |  1KB  |  90 lines

  1. #ifdef __STDC__
  2. static char sccs_id[] = "@(#) strspn.c 1.1 " __DATE__ " HJR";
  3. #else
  4. static char sccs_id[] = "@(#) strspn.c 1.1 26/9/90 HJR";
  5. #endif
  6.  
  7. /* strspn.c (c) Copyright 1990 H.Rogers */
  8.  
  9. #ifndef __STDC__
  10. #include "sys/types.h"
  11. #endif
  12. #include <string.h>
  13.  
  14. #ifdef __STDC__
  15. size_t
  16. strspn (register const char *s1, register const char *s)
  17. #else
  18. size_t
  19. strspn (s1, s)
  20.      register const char *s1;
  21.      register const char *s;
  22. #endif
  23. {
  24.   register int c1, c2;
  25.   register const char *s2;
  26.   register size_t n = 0;
  27.  
  28.   while (c1 = *s1++)
  29.     {
  30.       s2 = s;
  31.       while ((c2 = *s2++) != c1)
  32.     if (!c2)
  33.       return (n);
  34.       n++;
  35.     }
  36.  
  37.   return (n);
  38. }
  39.  
  40. #ifdef __STDC__
  41. size_t
  42. strcspn (register const char *s1, register const char *s)
  43. #else
  44. size_t
  45. strcspn (s1, s)
  46.      register const char *s1;
  47.      register const char *s;
  48. #endif
  49. {
  50.   register int c1, c2;
  51.   register const char *s2;
  52.   register size_t n = 0;
  53.  
  54.   while (c1 = *s1++)
  55.     {
  56.       s2 = s;
  57.       while (c2 = *s2++)
  58.     if (c2 == c1)
  59.       return (n);
  60.       n++;
  61.     }
  62.  
  63.   return (n);
  64. }
  65.  
  66. #ifdef __STDC__
  67. char *
  68. strpbrk (register const char *s1, register const char *s)
  69. #else
  70. char *
  71. strpbrk (s1, s)
  72.      register const char *s1;
  73.      register const char *s;
  74. #endif
  75. {
  76.   register int c1, c2;
  77.   register const char *s2;
  78.  
  79.   while (c1 = *s1)
  80.     {
  81.       s2 = s;
  82.       while (c2 = *s2++)
  83.     if (c2 == c1)
  84.       return ((char *) s1);
  85.       s1++;
  86.     }
  87.  
  88.   return (0);
  89. }
  90.