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:
		
					parent
					
						
							
								8a7ddad8e7
							
						
					
				
			
			
				commit
				
					
						151f85a471
					
				
			
		
					 4 changed files with 3 additions and 51 deletions
				
			
		|  | @ -53,8 +53,8 @@ const char *perf_extract_argv0_path(const char *argv0) | ||||||
| 		slash--; | 		slash--; | ||||||
| 
 | 
 | ||||||
| 	if (slash >= argv0) { | 	if (slash >= argv0) { | ||||||
| 		argv0_path = xstrndup(argv0, slash - argv0); | 		argv0_path = strndup(argv0, slash - argv0); | ||||||
| 		return slash + 1; | 		return argv0_path ? slash + 1 : NULL; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return argv0; | 	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])) | 	if (path_len && !is_dir_sep(path[path_len - 1])) | ||||||
| 		return NULL; | 		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: |  * Wrappers: | ||||||
|  */ |  */ | ||||||
| extern char *xstrdup(const char *str); | 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)); | 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) | static inline void *zalloc(size_t size) | ||||||
| { | { | ||||||
|  |  | ||||||
|  | @ -23,46 +23,6 @@ char *xstrdup(const char *str) | ||||||
| 	return ret; | 	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 *xrealloc(void *ptr, size_t size) | ||||||
| { | { | ||||||
| 	void *ret = realloc(ptr, size); | 	void *ret = realloc(ptr, size); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Arnaldo Carvalho de Melo
				Arnaldo Carvalho de Melo