add safestrcpy
This commit is contained in:
parent
cd08e6e065
commit
7e89fb90bd
1
defs.h
1
defs.h
|
@ -39,6 +39,7 @@ void* memset(void*, int, uint);
|
|||
int memcmp(const void*, const void*, uint);
|
||||
void* memmove(void*, const void*, uint);
|
||||
int strncmp(const char*, const char*, uint);
|
||||
char* safestrcpy(char*, const char*, int);
|
||||
|
||||
// syscall.c
|
||||
void syscall(void);
|
||||
|
|
16
string.c
16
string.c
|
@ -57,3 +57,19 @@ strncmp(const char *p, const char *q, uint n)
|
|||
else
|
||||
return (int) ((uchar) *p - (uchar) *q);
|
||||
}
|
||||
|
||||
// Like strncpy but guaranteed to NUL-terminate.
|
||||
char*
|
||||
safestrcpy(char *s, const char *t, int n)
|
||||
{
|
||||
char *os;
|
||||
|
||||
os = s;
|
||||
if(n <= 0)
|
||||
return os;
|
||||
while(--n > 0 && (*s++ = *t++) != 0)
|
||||
;
|
||||
*s = 0;
|
||||
return os;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue