memchr.c
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:1k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* memchr.c - search memory for a character, string */
  2. /* Copyright 1992-1993 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,25feb93,jdi  documentation cleanup for 5.1.
  7. 01b,20sep92,smb  documentation additions
  8. 01a,08jul92,smb  written and documented.
  9. */
  10. /*
  11. DESCRIPTION
  12. INCLUDE FILES: string.h
  13. SEE ALSO: American National Standard X3.159-1989
  14. NOMANUAL
  15. */
  16. #include "vxWorks.h"
  17. #include "string.h"
  18. /*******************************************************************************
  19. *
  20. * memchr - search a block of memory for a character (ANSI)
  21. *
  22. * This routine searches for the first element of an array of `unsigned char',
  23. * beginning at the address <m> with size <n>, that equals <c> converted to
  24. * an `unsigned char'.
  25. *
  26. * INCLUDE FILES: string.h
  27. *
  28. * RETURNS: If successful, it returns the address of the matching element;
  29. * otherwise, it returns a null pointer.
  30. */
  31. void * memchr
  32.     (
  33.     const void * m, /* block of memory */
  34.     int   c, /* character to search for */
  35.     size_t   n /* size of memory to search */
  36.     )
  37.     {
  38.     uchar_t *p = (uchar_t *) CHAR_FROM_CONST(m);
  39.     if (n != 0)
  40. do 
  41.     {
  42.     if (*p++ == (unsigned char) c)
  43. return (VOID_FROM_CONST(p - 1));
  44.     } while (--n != 0);
  45.     return (NULL);
  46.     }