Annotation of researchv9/jtools/src/sam/misc.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.