|
|
1.1 ! root 1: #include "sam.h" ! 2: ! 3: bcopy(s1, s2, d, dir) ! 4: register uchar *s1, *s2; ! 5: register uchar *d; ! 6: int dir; ! 7: { ! 8: register long n=s2-s1; ! 9: extern char *memcpy(); ! 10: if(dir<0){ ! 11: if(n>0){ ! 12: register long m=(n+7)/8; ! 13: d+=n; ! 14: switch((int)(n&7)){ ! 15: case 0: do{ *--d = *--s2; ! 16: case 7: *--d = *--s2; ! 17: case 6: *--d = *--s2; ! 18: case 5: *--d = *--s2; ! 19: case 4: *--d = *--s2; ! 20: case 3: *--d = *--s2; ! 21: case 2: *--d = *--s2; ! 22: case 1: *--d = *--s2; ! 23: }while(--m>0); ! 24: } ! 25: } ! 26: }else ! 27: memcpy((char *)d, (char *)s1, (int)(s2-s1)); ! 28: } ! 29: Posn ! 30: getnum(){ ! 31: register Posn n=0; ! 32: register c; ! 33: if((c=nextc())<'0' || '9'<c) /* no number defaults to 1 */ ! 34: return 1; ! 35: while('0'<=(c=getc()) && c<='9') ! 36: n=n*10+c-'0'; ! 37: ungetc(); ! 38: return n; ! 39: } ! 40: skipbl(){ ! 41: register c; ! 42: do c=getc(); while(c==' ' || c=='\t'); ! 43: if(c>=0) ! 44: ungetc(); ! 45: return c; ! 46: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.