home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / BDSC / BDSC-4 / BDSLIB.ARK / STRING.C < prev    next >
Text File  |  1983-07-15  |  1KB  |  87 lines

  1. /*
  2.  * string
  3.  * This file includes some string functions taken largely from the
  4.  * BDS C Standard Library. Some of the functions have been modified
  5.  * to force compatibilty with the macros in ctype.h.
  6.  * Last Edit 6/6/83
  7.  */
  8.  
  9. atoi(n)
  10. char *n;
  11. {
  12.     int val; 
  13.     char c;
  14.     int sign;
  15.     val=0;
  16.     sign=1;
  17.     while ((c = *n) == '\t' || c== ' ') ++n;
  18.     if (c== '-') {
  19.         sign = -1;
  20.         n++;
  21.     }
  22.     c = *n;
  23.     while (isdigit(c)) {
  24.         val = val * 10 + c - '0';
  25.         c = *++n;
  26.     }
  27.     return sign*val;
  28. }
  29.  
  30.  
  31. char *
  32. strcat(s1,s2)
  33. char *s1, *s2;
  34. {
  35.     char *temp;
  36.     temp=s1;
  37.     while(*s1) s1++;
  38.     do *s1++ = *s2; while (*s2++);
  39.     return temp;
  40. }
  41.  
  42.  
  43. strcmp(s,t)
  44. char s[], t[];
  45. {
  46.     int i;
  47.     i = 0;
  48.     while (s[i] == t[i])
  49.         if (s[i++] == '\0')
  50.             return 0;
  51.     return s[i] - t[i];
  52. }
  53.  
  54.  
  55. char *
  56. strcpy(s1,s2)
  57. char *s1, *s2;
  58. {
  59.     char *temp;
  60.     temp=s1;
  61.     while (*s1++ = *s2++);
  62.     return temp;
  63. }
  64.  
  65.  
  66. strlen(s)
  67. char *s;
  68. {
  69.     int len;
  70.     len=0;
  71.     while (*s++) len++;
  72.     return len;
  73. }
  74. char *
  75. strncpy(s1,s2,n)
  76. char *s1, *s2;
  77. unsigned n;
  78. {
  79.     unsigned count;
  80.     char *ptr;
  81.     ptr = s1;
  82.  
  83.     for (count = 0; count < n; count++)
  84.         *s1++ = *s2++;
  85.     return ptr;
  86. }
  87.