Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 151f85a4 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 8a7ddad8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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));
}
+0 −8
Original line number Diff line number Diff line
@@ -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)
{
+0 −40
Original line number Diff line number Diff line
@@ -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);