Annotation of GNUtools/libg++/libiberty/memchr.c, revision 1.1

1.1     ! root        1: /*
        !             2: FUNCTION
        !             3:        <<memchr>>---find character in memory
        !             4: 
        !             5: INDEX
        !             6:        memchr
        !             7: 
        !             8: ANSI_SYNOPSIS
        !             9:        #include <string.h>
        !            10:        void *memchr(const void *<[src]>, int <[c]>, size_t <[length]>);
        !            11: 
        !            12: TRAD_SYNOPSIS
        !            13:        #include <string.h>
        !            14:        void *memchr(<[src]>, <[c]>, <[length]>)
        !            15:        void *<[src]>;
        !            16:        void *<[c]>;
        !            17:        size_t <[length]>;
        !            18: 
        !            19: DESCRIPTION
        !            20:        This function searches memory starting at <<*<[src]>>> for the
        !            21:        character <[c]>.  The search only ends with the first
        !            22:        occurrence of <[c]>, or after <[length]> characters; in
        !            23:        particular, <<NULL>> does not terminate the search.
        !            24: 
        !            25: RETURNS
        !            26:        If the character <[c]> is found within <[length]> characters
        !            27:        of <<*<[src]>>>, a pointer to the character is returned. If
        !            28:        <[c]> is not found, then <<NULL>> is returned.  
        !            29: 
        !            30: PORTABILITY
        !            31: <<memchr>>  requires no supporting OS subroutines.
        !            32: 
        !            33: QUICKREF
        !            34:        memchr ansi pure
        !            35: 
        !            36: */
        !            37: 
        !            38: #include <ansidecl.h>
        !            39: #ifdef __STDC__
        !            40: #include <stddef.h>
        !            41: #else
        !            42: #define size_t unsigned long
        !            43: #endif
        !            44: 
        !            45: PTR
        !            46: memchr (src_void, c, length)
        !            47:      register CONST PTR src_void;
        !            48:      int c;
        !            49:      size_t length;
        !            50: {
        !            51:   CONST unsigned char *src = (CONST unsigned char *)src_void;
        !            52:   
        !            53:   while (--length >= 0)
        !            54:   {
        !            55:     if (*src == c)
        !            56:      return (PTR)src;
        !            57:     src++;
        !            58:   }
        !            59:   return NULL;
        !            60: }

unix.superglobalmegacorp.com

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