Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4265 → Rev 4266

/trunk/uspace/lib/libc/include/string.h
78,6 → 78,8
extern bool wstr_linsert(wchar_t *str, wchar_t ch, count_t pos, count_t max_pos);
extern bool wstr_remove(wchar_t *str, count_t pos);
 
extern char *str_dup(const char *);
 
/*
* TODO: Get rid of this.
*/
86,12 → 88,8
extern int stricmp(const char *, const char *);
 
extern char *strcpy(char *, const char *);
extern char *strncpy(char *, const char *, size_t);
 
extern char *strcat(char *, const char *);
 
extern char *strdup(const char *);
 
extern long int strtol(const char *, char **, int);
extern unsigned long strtoul(const char *, char **, int);
 
/trunk/uspace/lib/libc/generic/string.c
40,6 → 40,7
#include <malloc.h>
#include <errno.h>
#include <align.h>
#include <mem.h>
#include <string.h>
 
/** Byte mask consisting of lowest @n bits (out of 8) */
806,15 → 807,6
return orig;
}
 
char *strncpy(char *dest, const char *src, size_t n)
{
char *orig = dest;
while ((*(dest++) = *(src++)) && --n)
;
return orig;
}
 
char *strcat(char *dest, const char *src)
{
char *orig = dest;
826,15 → 818,15
return orig;
}
 
char * strdup(const char *s1)
char *str_dup(const char *src)
{
size_t len = str_size(s1) + 1;
void *ret = malloc(len);
size_t size = str_size(src);
void *dest = malloc(size + 1);
 
if (ret == NULL)
if (dest == NULL)
return (char *) NULL;
 
return (char *) memcpy(ret, s1, len);
return (char *) memcpy(dest, src, size + 1);
}
 
char *strtok(char *s, const char *delim)
/trunk/uspace/lib/libc/generic/vfs/vfs.c
99,7 → 99,7
* the address in ncwd_path need not be the same as ncwd_path_nc, even
* though they both point into the same dynamically allocated buffer.
*/
ncwd_path = strdup(ncwd_path);
ncwd_path = str_dup(ncwd_path);
free(ncwd_path_nc);
if (!ncwd_path) {
futex_up(&cwd_futex);