diff options
author | Eric Andersen | 2000-07-19 17:35:54 +0000 |
---|---|---|
committer | Eric Andersen | 2000-07-19 17:35:54 +0000 |
commit | ae6eae02dd85a196a4545376a50166aede8ce7c1 (patch) | |
tree | c3dbc22408e4323f916fb1f1171f7aa73fa2aecc | |
parent | 52d6fa3bb335fcfefc2b205e7ba509fc4b284793 (diff) | |
download | busybox-ae6eae02dd85a196a4545376a50166aede8ce7c1.zip busybox-ae6eae02dd85a196a4545376a50166aede8ce7c1.tar.gz |
Moved some code and add a coupld #defines to support use of dmalloc.
-Erik
-rw-r--r-- | insmod.c | 14 | ||||
-rw-r--r-- | internal.h | 7 | ||||
-rw-r--r-- | modutils/insmod.c | 14 | ||||
-rw-r--r-- | utility.c | 18 |
4 files changed, 26 insertions, 27 deletions
@@ -70,7 +70,7 @@ #ifndef MODUTILS_MODULE_H #define MODUTILS_MODULE_H 1 -#ident "$Id: insmod.c,v 1.18 2000/07/16 20:57:15 kraai Exp $" +#ident "$Id: insmod.c,v 1.19 2000/07/19 17:35:54 andersen Exp $" /* This file contains the structures used by the 2.0 and 2.1 kernels. We do not use the kernel headers directly because we do not wish @@ -276,7 +276,7 @@ int delete_module(const char *); #ifndef MODUTILS_OBJ_H #define MODUTILS_OBJ_H 1 -#ident "$Id: insmod.c,v 1.18 2000/07/16 20:57:15 kraai Exp $" +#ident "$Id: insmod.c,v 1.19 2000/07/19 17:35:54 andersen Exp $" /* The relocatable object is manipulated using elfin types. */ @@ -563,16 +563,6 @@ static char m_fullName[BUFSIZ + 1] = "\0"; /*======================================================================*/ -void *xrealloc(void *old, size_t size) -{ - void *ptr = realloc(old, size); - if (!ptr) { - perror("Out of memory"); - exit(1); - } - return ptr; -} - static int findNamedModule(const char *fileName, struct stat *statbuf, void *userDate) @@ -26,6 +26,10 @@ #include "busybox.def.h" +#ifdef DMALLOC +#include "dmalloc.h" +#endif + #include <stdlib.h> #include <stdarg.h> #include <string.h> @@ -360,8 +364,11 @@ extern char process_escape_sequence(char **ptr); extern char *get_last_path_component(char *path); extern void xregcomp(regex_t *preg, const char *regex, int cflags); +#ifndef DMALLOC extern void *xmalloc (size_t size); +extern void *xrealloc(void *old, size_t size) extern char *xstrdup (const char *s); +#endif extern char *xstrndup (const char *s, int n); diff --git a/modutils/insmod.c b/modutils/insmod.c index 9daedf9..cd75e24 100644 --- a/modutils/insmod.c +++ b/modutils/insmod.c @@ -70,7 +70,7 @@ #ifndef MODUTILS_MODULE_H #define MODUTILS_MODULE_H 1 -#ident "$Id: insmod.c,v 1.18 2000/07/16 20:57:15 kraai Exp $" +#ident "$Id: insmod.c,v 1.19 2000/07/19 17:35:54 andersen Exp $" /* This file contains the structures used by the 2.0 and 2.1 kernels. We do not use the kernel headers directly because we do not wish @@ -276,7 +276,7 @@ int delete_module(const char *); #ifndef MODUTILS_OBJ_H #define MODUTILS_OBJ_H 1 -#ident "$Id: insmod.c,v 1.18 2000/07/16 20:57:15 kraai Exp $" +#ident "$Id: insmod.c,v 1.19 2000/07/19 17:35:54 andersen Exp $" /* The relocatable object is manipulated using elfin types. */ @@ -563,16 +563,6 @@ static char m_fullName[BUFSIZ + 1] = "\0"; /*======================================================================*/ -void *xrealloc(void *old, size_t size) -{ - void *ptr = realloc(old, size); - if (!ptr) { - perror("Out of memory"); - exit(1); - } - return ptr; -} - static int findNamedModule(const char *fileName, struct stat *statbuf, void *userDate) @@ -1454,17 +1454,28 @@ extern pid_t* findPidByName( char* pidName) #endif /* BB_FEATURE_USE_DEVPS_PATCH */ #endif /* BB_KILLALL || ( BB_FEATURE_LINUXRC && ( BB_HALT || BB_REBOOT || BB_POWEROFF )) */ +#ifndef DMALLOC /* this should really be farmed out to libbusybox.a */ extern void *xmalloc(size_t size) { - void *cp = malloc(size); + void *ptr = malloc(size); - if (cp == NULL) + if (!ptr) fatalError(memory_exhausted); - return cp; + return ptr; } +void *xrealloc(void *old, size_t size) +{ + void *ptr = realloc(old, size); + if (!ptr) + fatalError(memory_exhausted); + return ptr; +} +#endif + #if defined BB_FEATURE_NFSMOUNT +# ifndef DMALLOC extern char * xstrdup (const char *s) { char *t; @@ -1478,6 +1489,7 @@ extern char * xstrdup (const char *s) { return t; } +# endif extern char * xstrndup (const char *s, int n) { char *t; |