home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 January / Chip_2001-01_cd1.bin / tema / mysql / mysql-3.23.28g-win-source.exe / strings / strend.c < prev    next >
C/C++ Source or Header  |  2000-08-31  |  709b  |  34 lines

  1. /*  File   : strend.c
  2.     Author : Richard A. O'Keefe.
  3.     Updated: 23 April 1984
  4.     Defines: strend()
  5.  
  6.     strend(s) returns a character pointer to the NUL which ends s.  That
  7.     is,  strend(s)-s  ==  strlen(s). This is useful for adding things at
  8.     the end of strings.  It is redundant, because  strchr(s,'\0')  could
  9.     be used instead, but this is clearer and faster.
  10.     Beware: the asm version works only if strlen(s) < 65535.
  11. */
  12.  
  13. #include <global.h>
  14. #include "m_string.h"
  15.  
  16. #if    VaxAsm
  17.  
  18. char *strend(s)
  19. const char *s;
  20. {
  21.   asm("locc $0,$65535,*4(ap)");
  22.   asm("movl r1,r0");
  23. }
  24.  
  25. #else    /* ~VaxAsm */
  26.  
  27. char *strend(register const char *s)
  28. {
  29.   while (*s++);
  30.   return (char*) (s-1);
  31. }
  32.  
  33. #endif    /* VaxAsm */
  34.