Annotation of researchv10no/cmd/f2c/memset.c, revision 1.1.1.1

1.1       root        1: /****************************************************************
                      2: Copyright 1990 by AT&T Bell Laboratories and Bellcore.
                      3: 
                      4: Permission to use, copy, modify, and distribute this software
                      5: and its documentation for any purpose and without fee is hereby
                      6: granted, provided that the above copyright notice appear in all
                      7: copies and that both that the copyright notice and this
                      8: permission notice and warranty disclaimer appear in supporting
                      9: documentation, and that the names of AT&T Bell Laboratories or
                     10: Bellcore or any of their entities not be used in advertising or
                     11: publicity pertaining to distribution of the software without
                     12: specific, written prior permission.
                     13: 
                     14: AT&T and Bellcore disclaim all warranties with regard to this
                     15: software, including all implied warranties of merchantability
                     16: and fitness.  In no event shall AT&T or Bellcore be liable for
                     17: any special, indirect or consequential damages or any damages
                     18: whatsoever resulting from loss of use, data or profits, whether
                     19: in an action of contract, negligence or other tortious action,
                     20: arising out of or in connection with the use or performance of
                     21: this software.
                     22: ****************************************************************/
                     23: 
                     24: /* This is for the benefit of people whose systems don't provide
                     25:  * memset, memcpy, and memcmp.  If yours is such a system, adjust
                     26:  * the makefile by adding memset.o to the "OBJECTS =" assignment.
                     27:  * WARNING: the memcpy below is adequate for f2c, but is not a
                     28:  * general memcpy routine (which must correctly handle overlapping
                     29:  * fields).
                     30:  */
                     31: 
                     32:  int
                     33: memcmp(s1, s2, n)
                     34:  register char *s1, *s2;
                     35:  int n;
                     36: {
                     37:        register char *se;
                     38: 
                     39:        for(se = s1 + n; s1 < se; s1++, s2++)
                     40:                if (*s1 != *s2)
                     41:                        return *s1 - *s2;
                     42:        return 0;
                     43:        }
                     44: 
                     45:  char *
                     46: memcpy(s1, s2, n)
                     47:  register char *s1, *s2;
                     48:  int n;
                     49: {
                     50:        register char *s0 = s1, *se = s1 + n;
                     51: 
                     52:        while(s1 < se)
                     53:                *s1++ = *s2++;
                     54:        return s0;
                     55:        }
                     56: 
                     57: memset(s, c, n)
                     58:  register char *s;
                     59:  register int c;
                     60:  int n;
                     61: {
                     62:        register char *se = s + n;
                     63: 
                     64:        while(s < se)
                     65:                *s++ = c;
                     66:        }

unix.superglobalmegacorp.com

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