301 |
return pupa_memcpy (p, s, len); |
return pupa_memcpy (p, s, len); |
302 |
} |
} |
303 |
|
|
304 |
|
char * |
305 |
|
pupa_strndup (const char *s, pupa_size_t n) |
306 |
|
{ |
307 |
|
pupa_size_t len = 0; |
308 |
|
char *p = (char *) s; |
309 |
|
|
310 |
|
while (*(p++) && len < n) |
311 |
|
len++; |
312 |
|
|
313 |
|
len = pupa_strlen (s) + 1; |
314 |
|
p = (char *) pupa_malloc (len); |
315 |
|
if (! p) |
316 |
|
return 0; |
317 |
|
|
318 |
|
return pupa_memcpy (p, s, len); |
319 |
|
} |
320 |
|
|
321 |
void * |
void * |
322 |
pupa_memset (void *s, int c, pupa_size_t n) |
pupa_memset (void *s, int c, pupa_size_t n) |
323 |
{ |
{ |