1: #ifndef lint
   2: static char sccsid[] = "@(#)0.string.c	4.1	(Berkeley)	2/11/83";
   3: #endif not lint
   4: 
   5: #include <stdio.h>
   6: #include "def.h"
   7: #include "1.defs.h"
   8: 
   9: str_copy(s,ptr,length)  /* copy s at ptr, return length of s */
  10: char *s, *ptr;
  11: int length;
  12:     {int i;
  13:     for (i = 0; i < length; i++)
  14:         {
  15:         ptr[i] = s[i];
  16:         if (ptr[i] == '\0')
  17:             return(i + 1);
  18:         }
  19:     faterr("string too long to be copied at given address:\n",s,"");
  20:     }
  21: 
  22: 
  23: find(s,ar,size)
  24: char *s,*ar[];
  25: int size;
  26:     {
  27:     int i;
  28:     for (i=0; i < size; i++)
  29:         {if (str_eq(s, ar[i])) return(i);}
  30:     return(-1);
  31:     }
  32: 
  33: 
  34: str_eq(s,t)
  35: char s[],t[];
  36:     {int j;
  37:     for (j = 0; s[j] == t[j]; j++)
  38:         {if (s[j] == '\0') return(1);}
  39:     return(0);
  40:     }
  41: 
  42: 
  43: classmatch(c,i)
  44: char c;
  45: int i;
  46:     {switch(i)
  47:         {case _digit:
  48:             if ('0' <= c && c <= '9')  return(1);
  49:             else return(0);
  50: 
  51:         case _letter:
  52:             if ( ('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z'))
  53:                 return(1);
  54:             else return(0);
  55: 
  56:         case _diglet:  return(classmatch(c,_digit)||classmatch(c,_letter) );
  57: 
  58:         case _arith:
  59:             if (050 <= c && c<= 057)  return(1);
  60:             else return(0);
  61:         case _nl:
  62:             return(c=='\n');
  63:         case _other:
  64:             return(1);
  65:         }
  66:     }
  67: 
  68: 
  69: copychars(cbeg,target,n)        /* copy n chars from cbeg to target */
  70: char *cbeg, *target;
  71: int n;
  72:     {
  73:     int i;
  74:     for (i = 0; i < n; i++)
  75:         target[i] = cbeg[i];
  76:     }
  77: 
  78: 
  79: 
  80: copycs(cbeg,target,n)           /* copy n chars from cbeg to target, add '\0' */
  81: char *cbeg, *target;
  82: int n;
  83:     {
  84:     copychars(cbeg,target,n);
  85:     target[n] = '\0';
  86:     }
  87: 
  88: 
  89: slength(s)          /* return number of chars in s, not counting '\0' */
  90: char *s;
  91:     {
  92:     int i;
  93:     if (!s) return(-1);
  94:     for (i = 0; s[i] != '\0'; i++);
  95:     return(i);
  96:     }
  97: 
  98: 
  99: concat(x,y)         /* allocate space, return xy */
 100: char *x, *y;
 101:     {
 102:     char *temp;
 103:     int i,j;
 104:     i = slength(x);
 105:     j = slength(y);
 106:     temp = galloc(i + j + 1);
 107:     sprintf(temp,"%s",x);
 108:     sprintf(&temp[i],"%s",y);
 109:     return(temp);
 110:     }

Defined functions

classmatch defined in line 43; used 4 times
concat defined in line 99; used 5 times
copychars defined in line 69; used 1 times
  • in line 84
copycs defined in line 80; used 1 times
find defined in line 23; used 1 times
slength defined in line 89; used 2 times
str_copy defined in line 9; never used
str_eq defined in line 34; used 1 times
  • in line 29

Defined variables

sccsid defined in line 2; never used
Last modified: 1983-02-12
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 888
Valid CSS Valid XHTML 1.0 Strict