home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / prog_c / stringlb.lzh / STRINGLIB / MEMSET.C < prev    next >
Encoding:
C/C++ Source or Header  |  1991-11-01  |  545 b   |  33 lines

  1. /*
  2.  * memset - set bytes
  3.  *
  4.  * CHARBITS should be defined only if the compiler lacks "unsigned char".
  5.  * It should be a mask, e.g. 0377 for an 8-bit machine.
  6.  */
  7.  
  8. #include "config.h"
  9.  
  10. #ifndef CHARBITS
  11. #    define    UNSCHAR(c)    ((unsigned char)(c))
  12. #else
  13. #    define    UNSCHAR(c)    ((c)&CHARBITS)
  14. #endif
  15.  
  16. VOIDSTAR
  17. memset(s, ucharfill, size)
  18. CONST VOIDSTAR s;
  19. register int ucharfill;
  20. SIZET size;
  21. {
  22.     register CONST char *scan;
  23.     register SIZET n;
  24.     register int uc;
  25.  
  26.     scan = s;
  27.     uc = UNSCHAR(ucharfill);
  28.     for (n = size; n > 0; n--)
  29.         *scan++ = uc;
  30.  
  31.     return(s);
  32. }
  33.