perf tools: remove xstrndup, xmalloc, xzalloc
All the functions that call this can handle the equivalent, non panic'ing wrapped routines. Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Tom Zanussi <tzanussi@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
8a7ddad8e7
Коммит
151f85a471
|
@ -53,8 +53,8 @@ const char *perf_extract_argv0_path(const char *argv0)
|
|||
slash--;
|
||||
|
||||
if (slash >= argv0) {
|
||||
argv0_path = xstrndup(argv0, slash - argv0);
|
||||
return slash + 1;
|
||||
argv0_path = strndup(argv0, slash - argv0);
|
||||
return argv0_path ? slash + 1 : NULL;
|
||||
}
|
||||
|
||||
return argv0;
|
||||
|
|
|
@ -152,5 +152,5 @@ char *strip_path_suffix(const char *path, const char *suffix)
|
|||
|
||||
if (path_len && !is_dir_sep(path[path_len - 1]))
|
||||
return NULL;
|
||||
return xstrndup(path, chomp_trailing_dir_sep(path, path_len));
|
||||
return strndup(path, chomp_trailing_dir_sep(path, path_len));
|
||||
}
|
||||
|
|
|
@ -179,16 +179,8 @@ static inline char *gitstrchrnul(const char *s, int c)
|
|||
* Wrappers:
|
||||
*/
|
||||
extern char *xstrdup(const char *str);
|
||||
extern void *xmalloc(size_t size) __attribute__((weak));
|
||||
extern char *xstrndup(const char *str, size_t len);
|
||||
extern void *xrealloc(void *ptr, size_t size) __attribute__((weak));
|
||||
|
||||
static inline void *xzalloc(size_t size)
|
||||
{
|
||||
void *buf = xmalloc(size);
|
||||
|
||||
return memset(buf, 0, size);
|
||||
}
|
||||
|
||||
static inline void *zalloc(size_t size)
|
||||
{
|
||||
|
|
|
@ -23,46 +23,6 @@ char *xstrdup(const char *str)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void *xmalloc(size_t size)
|
||||
{
|
||||
void *ret = malloc(size);
|
||||
if (!ret && !size)
|
||||
ret = malloc(1);
|
||||
if (!ret) {
|
||||
release_pack_memory(size, -1);
|
||||
ret = malloc(size);
|
||||
if (!ret && !size)
|
||||
ret = malloc(1);
|
||||
if (!ret)
|
||||
die("Out of memory, malloc failed");
|
||||
}
|
||||
#ifdef XMALLOC_POISON
|
||||
memset(ret, 0xA5, size);
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* xmemdupz() allocates (len + 1) bytes of memory, duplicates "len" bytes of
|
||||
* "data" to the allocated memory, zero terminates the allocated memory,
|
||||
* and returns a pointer to the allocated memory. If the allocation fails,
|
||||
* the program dies.
|
||||
*/
|
||||
static void *xmemdupz(const void *data, size_t len)
|
||||
{
|
||||
char *p = xmalloc(len + 1);
|
||||
memcpy(p, data, len);
|
||||
p[len] = '\0';
|
||||
return p;
|
||||
}
|
||||
|
||||
char *xstrndup(const char *str, size_t len)
|
||||
{
|
||||
char *p = memchr(str, '\0', len);
|
||||
|
||||
return xmemdupz(str, p ? (size_t)(p - str) : len);
|
||||
}
|
||||
|
||||
void *xrealloc(void *ptr, size_t size)
|
||||
{
|
||||
void *ret = realloc(ptr, size);
|
||||
|
|
Загрузка…
Ссылка в новой задаче