home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dr. Reference
/
dr_ref.zip
/
dr_ref
/
C_2_____
/
STRLIB.ZIP
/
STRNEND.C
< prev
next >
Wrap
Text File
|
1993-01-04
|
896b
|
39 lines
/* File : strnend.c
Author : Richard A. O'Keefe.
Updated: 1 June 1984
Defines: strnend()
strnend(src, len)
returns a pointer to just after the end of the string src, which is
terminated by a NUL character, or by exhaustion of the length bound
len. That is, strnend(s,L)-s = strnlen(s,L). s+strnlen(s,L) could
of course be used instead, but this is sometimes clearer.
Beware: the asm version works only if 0 <= len < 65535.
*/
#include "strings.h"
#if VaxAsm
char *strnend(src, len)
char *src;
int len;
{
asm("locc $0,8(ap),*4(ap)");
asm("movl r1,r0");
}
#else ~VaxAsm
char *strnend(src, len)
register char *src;
register int len;
{
while (--len >= 0 && *src) src++;
return src;
}
#endif VaxAsm