Browse Source

* Now using wrapper functions for strdup() str_redup()

svn: 1071
Bryan Drewery 22 years ago
parent
commit
30c66d098a
5 changed files with 21 additions and 9 deletions
  1. 2 2
      Makefile.in
  2. 1 0
      autotools/configure.ac
  3. 13 1
      configure
  4. 4 5
      src/compat/memutil.c
  5. 1 1
      src/compat/memutil.h

+ 2 - 2
Makefile.in

@@ -27,9 +27,9 @@ EXCLUDES = $(CFG) misc/ind doc/DEVEL src/Makefile src/compat/Makefile src/mod/Ma
 
 # defaults
 CC = @DISTCC@ @CC@
-LD = @DISTCC@ @CC@
+LD = @DISTCC@ @CC@ @WRAP@
 CCDEBUG = @DISTCC@ @CCDEBUG@
-LDDEBUG = @DISTCC@ @CCDEBUG@
+LDDEBUG = @DISTCC@ @CCDEBUG@ @WRAP@
 STRIP = @STRIP@
 
 #LIBS = @LIBS@ @ZLIB@ @SSL@ @RESLIB@

+ 1 - 0
autotools/configure.ac

@@ -145,6 +145,7 @@ AC_CACHE_SAVE
 
 EGG_SUBST_VERSION
 DO_PACK_CFG
+FIND_WRAPS
 EGG_SUBST_MOD_UPDIR
 DO_DEPS
 

+ 13 - 1
configure

@@ -313,7 +313,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS egg_ac_parameters CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CCDEPMODE GCC3 CCDEBUG SET_MAKE HEAD_1 AWK BASENAME OBJCOPY STRIP UNAME DISTCC RESLIB RESINCLUDE ZLIB LIBOBJS VERSION NUMVER PACKNAME CFG MOD_UPDIR LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS egg_ac_parameters CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CCDEPMODE GCC3 CCDEBUG SET_MAKE HEAD_1 AWK BASENAME OBJCOPY STRIP UNAME DISTCC RESLIB RESINCLUDE ZLIB LIBOBJS VERSION NUMVER PACKNAME CFG WRAP MOD_UPDIR LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -12016,6 +12016,17 @@ _ACEOF
 done
 
 
+
+ld_line="-Wl"
+for func in `grep -hrsI __wrap_ src/compat/* | sed -e 's/^__wrap_\(.*\)(.*/\1/'`; do
+
+ ld_line="${ld_line},--wrap,${func}";
+# echo "FUNC: $func :: $ld_line";
+ WRAP="$ld_line"
+
+done
+
+
 case "$srcdir" in
   [\\/]* | ?:[\\/]*)
     MOD_UPDIR=""
@@ -12720,6 +12731,7 @@ s,@VERSION@,$VERSION,;t t
 s,@NUMVER@,$NUMVER,;t t
 s,@PACKNAME@,$PACKNAME,;t t
 s,@CFG@,$CFG,;t t
+s,@WRAP@,$WRAP,;t t
 s,@MOD_UPDIR@,$MOD_UPDIR,;t t
 s,@LTLIBOBJS@,$LTLIBOBJS,;t t
 CEOF

+ 4 - 5
src/compat/memutil.c

@@ -1,11 +1,9 @@
 #include <stdlib.h>
 #include <string.h>
-#undef strdup
-#undef str_redup
 #include "memcpy.h"
 
-
-void str_redup(char **str, const char *newstr)
+void 
+__wrap_str_redup(char **str, const char *newstr)
 {
         int len;
 
@@ -19,7 +17,8 @@ void str_redup(char **str, const char *newstr)
         egg_memcpy(*str, newstr, len);
 }
 
-char *strdup(const char *entry)
+char *
+__wrap_strdup(const char *entry)
 {
   char *target = (char*)calloc(1, strlen(entry) + 1);
   if (target == 0) return 0;

+ 1 - 1
src/compat/memutil.h

@@ -1,8 +1,8 @@
 #ifndef _MEMUTIL_H
 #define _MEMUTIL_H
 
-#undef strdup
 #undef str_redup
+#undef strdup
 
 void str_redup(char **, const char *);
 char *strdup(const char *);