Merge branch 'singlereplace' into single
authorJelmer Vernooij <jelmer@samba.org>
Tue, 16 Sep 2008 14:45:10 +0000 (16:45 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 16 Sep 2008 14:45:10 +0000 (16:45 +0200)
Conflicts:
source4/configure.ac
source4/torture/local/config.mk

153 files changed:
replace/.checker_innocent [moved from source3/lib/replace/.checker_innocent with 100% similarity]
replace/Makefile.in [moved from source3/lib/replace/Makefile.in with 100% similarity]
replace/README [moved from source3/lib/replace/README with 100% similarity]
replace/aclocal.m4 [moved from source3/lib/replace/aclocal.m4 with 100% similarity]
replace/autoconf-2.60.m4 [moved from source3/lib/replace/autoconf-2.60.m4 with 100% similarity]
replace/autogen.sh [moved from source3/lib/replace/autogen.sh with 100% similarity]
replace/config.guess [moved from source3/lib/replace/config.guess with 100% similarity]
replace/config.sub [moved from source3/lib/replace/config.sub with 100% similarity]
replace/configure.ac [moved from source3/lib/replace/configure.ac with 100% similarity]
replace/dlfcn.c [moved from source3/lib/replace/dlfcn.c with 100% similarity]
replace/dlfcn.m4 [moved from source3/lib/replace/dlfcn.m4 with 100% similarity]
replace/getaddrinfo.c [moved from source3/lib/replace/getaddrinfo.c with 100% similarity]
replace/getaddrinfo.h [moved from source3/lib/replace/getaddrinfo.h with 100% similarity]
replace/getifaddrs.c [moved from source3/lib/replace/getifaddrs.c with 100% similarity]
replace/getpass.c [moved from source3/lib/replace/getpass.c with 100% similarity]
replace/getpass.m4 [moved from source3/lib/replace/getpass.m4 with 100% similarity]
replace/inet_aton.c [moved from source3/lib/replace/inet_aton.c with 100% similarity]
replace/inet_ntoa.c [moved from source3/lib/replace/inet_ntoa.c with 100% similarity]
replace/inet_ntop.c [moved from source3/lib/replace/inet_ntop.c with 100% similarity]
replace/inet_pton.c [moved from source3/lib/replace/inet_pton.c with 100% similarity]
replace/install-sh [moved from source3/lib/replace/install-sh with 100% similarity]
replace/libreplace.m4 [moved from source3/lib/replace/libreplace.m4 with 100% similarity]
replace/libreplace_cc.m4 [moved from source3/lib/replace/libreplace_cc.m4 with 100% similarity]
replace/libreplace_ld.m4 [moved from source3/lib/replace/libreplace_ld.m4 with 100% similarity]
replace/libreplace_macros.m4 [moved from source3/lib/replace/libreplace_macros.m4 with 100% similarity]
replace/libreplace_network.m4 [moved from source3/lib/replace/libreplace_network.m4 with 100% similarity]
replace/repdir.m4 [moved from source3/lib/replace/repdir.m4 with 100% similarity]
replace/repdir_getdents.c [moved from source3/lib/replace/repdir_getdents.c with 100% similarity]
replace/repdir_getdirentries.c [moved from source3/lib/replace/repdir_getdirentries.c with 100% similarity]
replace/replace.c [moved from source3/lib/replace/replace.c with 100% similarity]
replace/replace.h [moved from source3/lib/replace/replace.h with 100% similarity]
replace/samba.m4 [moved from source3/lib/replace/samba.m4 with 100% similarity]
replace/snprintf.c [moved from source3/lib/replace/snprintf.c with 100% similarity]
replace/socket.c [moved from source3/lib/replace/socket.c with 100% similarity]
replace/socketpair.c [moved from source3/lib/replace/socketpair.c with 100% similarity]
replace/strptime.c [moved from source3/lib/replace/strptime.c with 100% similarity]
replace/strptime.m4 [moved from source3/lib/replace/strptime.m4 with 100% similarity]
replace/system/README [moved from source3/lib/replace/system/README with 100% similarity]
replace/system/aio.h [moved from source3/lib/replace/system/aio.h with 100% similarity]
replace/system/capability.h [moved from source3/lib/replace/system/capability.h with 100% similarity]
replace/system/config.m4 [moved from source3/lib/replace/system/config.m4 with 100% similarity]
replace/system/dir.h [moved from source3/lib/replace/system/dir.h with 100% similarity]
replace/system/filesys.h [moved from source3/lib/replace/system/filesys.h with 100% similarity]
replace/system/glob.h [moved from source3/lib/replace/system/glob.h with 100% similarity]
replace/system/iconv.h [moved from source3/lib/replace/system/iconv.h with 100% similarity]
replace/system/kerberos.h [moved from source3/lib/replace/system/kerberos.h with 100% similarity]
replace/system/locale.h [moved from source3/lib/replace/system/locale.h with 100% similarity]
replace/system/network.h [moved from source3/lib/replace/system/network.h with 100% similarity]
replace/system/passwd.h [moved from source3/lib/replace/system/passwd.h with 100% similarity]
replace/system/readline.h [moved from source3/lib/replace/system/readline.h with 100% similarity]
replace/system/select.h [moved from source3/lib/replace/system/select.h with 100% similarity]
replace/system/shmem.h [moved from source3/lib/replace/system/shmem.h with 100% similarity]
replace/system/syslog.h [moved from source3/lib/replace/system/syslog.h with 100% similarity]
replace/system/terminal.h [moved from source3/lib/replace/system/terminal.h with 100% similarity]
replace/system/time.h [moved from source3/lib/replace/system/time.h with 100% similarity]
replace/system/wait.h [moved from source3/lib/replace/system/wait.h with 100% similarity]
replace/test/getifaddrs.c [moved from source3/lib/replace/test/getifaddrs.c with 100% similarity]
replace/test/os2_delete.c [moved from source3/lib/replace/test/os2_delete.c with 100% similarity]
replace/test/shared_mmap.c [moved from source3/lib/replace/test/shared_mmap.c with 100% similarity]
replace/test/strptime.c [moved from source3/lib/replace/test/strptime.c with 100% similarity]
replace/test/testsuite.c [moved from source3/lib/replace/test/testsuite.c with 100% similarity]
replace/timegm.c [moved from source3/lib/replace/timegm.c with 100% similarity]
replace/timegm.m4 [moved from source3/lib/replace/timegm.m4 with 100% similarity]
replace/win32.m4 [moved from source3/lib/replace/win32.m4 with 100% similarity]
replace/win32_replace.h [moved from source3/lib/replace/win32_replace.h with 100% similarity]
source3/autogen.sh
source3/configure.in
source3/include/includes.h
source3/include/interfaces.h
source3/iniparser_build/dictionary.c
source3/iniparser_build/iniparser.c
source3/iniparser_build/strlib.c
source3/lib/interfaces.c
source3/lib/nss_wrapper/nss_wrapper.c
source3/lib/socket_wrapper/socket_wrapper.c
source3/libaddns/dns.h
source3/m4/aclocal.m4
source3/nsswitch/winbind_nss_config.h
source4/aclocal.m4
source4/autogen.sh
source4/configure.ac
source4/heimdal_build/config.h
source4/heimdal_build/gssapi-glue.c
source4/include/includes.h
source4/lib/nss_wrapper/nss_wrapper.c
source4/lib/replace/.checker_innocent [deleted file]
source4/lib/replace/Makefile.in [deleted file]
source4/lib/replace/README [deleted file]
source4/lib/replace/aclocal.m4 [deleted file]
source4/lib/replace/autoconf-2.60.m4 [deleted file]
source4/lib/replace/autogen.sh [deleted file]
source4/lib/replace/config.guess [deleted file]
source4/lib/replace/config.sub [deleted file]
source4/lib/replace/configure.ac [deleted file]
source4/lib/replace/dlfcn.c [deleted file]
source4/lib/replace/dlfcn.m4 [deleted file]
source4/lib/replace/getaddrinfo.c [deleted file]
source4/lib/replace/getaddrinfo.h [deleted file]
source4/lib/replace/getifaddrs.c [deleted file]
source4/lib/replace/getpass.c [deleted file]
source4/lib/replace/getpass.m4 [deleted file]
source4/lib/replace/inet_aton.c [deleted file]
source4/lib/replace/inet_ntoa.c [deleted file]
source4/lib/replace/inet_ntop.c [deleted file]
source4/lib/replace/inet_pton.c [deleted file]
source4/lib/replace/install-sh [deleted file]
source4/lib/replace/libreplace.m4 [deleted file]
source4/lib/replace/libreplace_cc.m4 [deleted file]
source4/lib/replace/libreplace_ld.m4 [deleted file]
source4/lib/replace/libreplace_macros.m4 [deleted file]
source4/lib/replace/libreplace_network.m4 [deleted file]
source4/lib/replace/repdir.m4 [deleted file]
source4/lib/replace/repdir_getdents.c [deleted file]
source4/lib/replace/repdir_getdirentries.c [deleted file]
source4/lib/replace/replace.c [deleted file]
source4/lib/replace/replace.h [deleted file]
source4/lib/replace/samba.m4 [deleted file]
source4/lib/replace/snprintf.c [deleted file]
source4/lib/replace/socket.c [deleted file]
source4/lib/replace/socketpair.c [deleted file]
source4/lib/replace/strptime.c [deleted file]
source4/lib/replace/strptime.m4 [deleted file]
source4/lib/replace/system/README [deleted file]
source4/lib/replace/system/aio.h [deleted file]
source4/lib/replace/system/capability.h [deleted file]
source4/lib/replace/system/config.m4 [deleted file]
source4/lib/replace/system/dir.h [deleted file]
source4/lib/replace/system/filesys.h [deleted file]
source4/lib/replace/system/glob.h [deleted file]
source4/lib/replace/system/iconv.h [deleted file]
source4/lib/replace/system/kerberos.h [deleted file]
source4/lib/replace/system/locale.h [deleted file]
source4/lib/replace/system/network.h [deleted file]
source4/lib/replace/system/passwd.h [deleted file]
source4/lib/replace/system/readline.h [deleted file]
source4/lib/replace/system/select.h [deleted file]
source4/lib/replace/system/shmem.h [deleted file]
source4/lib/replace/system/syslog.h [deleted file]
source4/lib/replace/system/terminal.h [deleted file]
source4/lib/replace/system/time.h [deleted file]
source4/lib/replace/system/wait.h [deleted file]
source4/lib/replace/test/getifaddrs.c [deleted file]
source4/lib/replace/test/os2_delete.c [deleted file]
source4/lib/replace/test/shared_mmap.c [deleted file]
source4/lib/replace/test/strptime.c [deleted file]
source4/lib/replace/test/testsuite.c [deleted file]
source4/lib/replace/timegm.c [deleted file]
source4/lib/replace/timegm.m4 [deleted file]
source4/lib/replace/win32.m4 [deleted file]
source4/lib/replace/win32_replace.h [deleted file]
source4/lib/socket_wrapper/socket_wrapper.c
source4/nsswitch/winbind_nss_config.h
source4/torture/local/config.mk

similarity index 100%
rename from source3/lib/replace/README
rename to replace/README
similarity index 100%
rename from source3/lib/replace/dlfcn.c
rename to replace/dlfcn.c
index 355a742aa0377199e2a57af2ddc960d036a38825..e27e817d616cc2933bcb689f2d45e1e2872705f2 100755 (executable)
@@ -53,7 +53,7 @@ echo "$0: running script/mkversion.sh"
 rm -rf autom4te*.cache
 rm -f configure include/config.h*
 
-IPATHS="-Im4 -Ilib/replace -I../source4"
+IPATHS="-Im4 -I../replace -I../source4"
 
 echo "$0: running $AUTOHEADER $IPATHS"
 $AUTOHEADER $IPATHS || exit 1
index 446b833f0694f1f2f45a2b645daa4b72f816219d..2801125b1138eac552b3a3fab41ce14aea78a69d 100644 (file)
@@ -48,7 +48,7 @@ done
 
 AC_SUBST(LIBTDB_OBJ0)
 SAMBA_CPPFLAGS="-Iinclude -I${srcdir-.}/include  -I. -I${srcdir-.}"
-SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/lib/replace"
+SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/../replace"
 SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TALLOC_CFLAGS}"
 SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} ${TDB_CFLAGS}"
 SAMBA_CPPFLAGS="${SAMBA_CPPFLAGS} -I${srcdir-.}/libaddns"
index 0691a76235a7d8519d45b46be7f8b54005635b09..ccdc6d3fd3c19ecc17947340b8e6b707026b95fd 100644 (file)
@@ -25,7 +25,7 @@
 #undef SIZEOF_LONG
 #endif
 
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 
 /* make sure we have included the correct config.h */
 #ifndef NO_CONFIG_H /* for some tests */
index 84501cee412d020d8507a5e5a5139618fb1eed5c..9a19c33b57062f5a0ddb64c0cfccc1f4f006dc4c 100644 (file)
@@ -24,8 +24,8 @@
 #ifndef _INTERFACES_H
 #define _INTERFACES_H
 
-#include "lib/replace/replace.h"
-#include "lib/replace/system/network.h"
+#include "../replace/replace.h"
+#include "../replace/system/network.h"
 
 #define MAX_INTERFACES 128
 
index de98a4523f04f8b2ad5150cc457df4f65c5c4ea3..3147361746dcc6e618507ca445f1c1026d4b9e33 100644 (file)
@@ -3,5 +3,5 @@
  the iniparser source code
  --metze
 */
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #include "iniparser/src/dictionary.c"
index 4974f373ee55d54a251371e18d6292aab4b99d17..3f4a1aaf1a6d5c3c99c8b0cc9c46e56415087721 100644 (file)
@@ -3,5 +3,5 @@
  the iniparser source code
  --metze
 */
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #include "iniparser/src/iniparser.c"
index 685ec8e04db28961c506e24a82030bb99586417b..4ea95b73ae03f509f0703715dfdc78f4f5be4469 100644 (file)
@@ -3,5 +3,5 @@
  the iniparser source code
  --metze
 */
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #include "iniparser/src/strlib.c"
index dd857ae6722f31bc62de29318e7d8503ef6ea05c..4567fe457b83b0cc083aa22006606dc4d513ff37 100644 (file)
@@ -86,7 +86,7 @@
 
 #define SOCKET_WRAPPER_NOT_REPLACE
 #include "interfaces.h"
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 
 /****************************************************************************
  Utility functions.
index 5d443facd3e7ed5402f4cb52eb9a2c7d34ef073b..da090832b0674948bc00d07a09f228378a8a1630 100644 (file)
@@ -34,7 +34,7 @@
 #ifdef _SAMBA_BUILD_
 
 #define NSS_WRAPPER_NOT_REPLACE
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #include "system/passwd.h"
 #include "system/filesys.h"
 
index 33e4b3837029cc16367c0eb1d59363367a486758..9d619769507792cef1984f36b20e67539180dd93 100644 (file)
@@ -42,7 +42,7 @@
 #ifdef _SAMBA_BUILD_
 
 #define SOCKET_WRAPPER_NOT_REPLACE
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #include "system/network.h"
 #include "system/filesys.h"
 #include "system/time.h"
index 2eaeaf7608423d05ca0d244d582d48913086f76f..3f95c739d51c6b185a43962639437bf0630727dd 100644 (file)
@@ -25,7 +25,7 @@
 #ifndef _DNS_H
 #define _DNS_H
 
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #include "system/network.h"
 
 /* make sure we have included the correct config.h */
index 9a4213d9767cb72e9d1e2e5b04d2282c8124dd03..beeabbba7884be7cce36156e9c164ec59f325b15 100644 (file)
@@ -886,4 +886,4 @@ int main(void)
        ])
 ])
 
-m4_include(lib/replace/libreplace.m4)
+m4_include(../replace/libreplace.m4)
index 64d52af771ec5f5a24a1c83b22c0d30039d4e839..bed507fdeb50e0e4c9771f539aad60e7980f35f1 100644 (file)
@@ -39,7 +39,7 @@
 /* Include header files from data in config.h file */
 
 #ifndef NO_CONFIG_H
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #endif
 
 #include "system/filesys.h"
index 57a66439a17af64ed02d84b8ba54e90bd58c243c..0e75fa51f5ffab2cbdefc5ba6ff8830bf9e8ddfc 100644 (file)
@@ -53,7 +53,7 @@ AC_DEFUN(LIB_REMOVE_USR_LIB,[
   $1=[$]ac_new_flags
 ])
 
-m4_include(lib/replace/libreplace.m4)
+m4_include(../replace/libreplace.m4)
 m4_include(build/m4/ax_cflags_gcc_option.m4)
 m4_include(build/m4/ax_cflags_irix_option.m4)
 m4_include(build/m4/public.m4)
index b721a45a99c86d62ea7a91b4e7d52acbb31e2f03..89f5abeb96e3f556a1410269ca48ad0e6f24ee1a 100755 (executable)
@@ -53,7 +53,7 @@ echo "$0: running script/mkversion.sh"
 rm -rf autom4te*.cache
 rm -f configure include/config_tmp.h*
 
-IPATHS="-I. -Ilib/replace"
+IPATHS="-I. -I../replace"
 
 echo "$0: running $AUTOHEADER $IPATHS"
 $AUTOHEADER $IPATHS || exit 1
index 60c9eb7331c0d8fea7432d8ecd174335ccec3114..3263073d4533c21becf2aeb018430ea931edf3bf 100644 (file)
@@ -11,7 +11,7 @@ AC_DEFINE(CONFIG_H_IS_FROM_SAMBA,1,[Marker for samba's config.h])
 
 # Configuration rules.
 m4_include(build/m4/env.m4)
-m4_include(lib/replace/samba.m4)
+m4_include(../replace/samba.m4)
 m4_include(lib/smbreadline/readline.m4)
 m4_include(heimdal_build/config.m4)
 m4_include(lib/util/fault.m4)
@@ -159,7 +159,7 @@ then
        builddir_headers="-I\$(builddir)/include -I\$(builddir) -I\$(builddir)/lib ";
 fi
 
-CPPFLAGS="$builddir_headers-I\$(srcdir)/include -I\$(srcdir) -I\$(srcdir)/lib -I\$(srcdir)/lib/replace -I\$(srcdir)/../talloc -D_SAMBA_BUILD_=4 -DHAVE_CONFIG_H $CPPFLAGS"
+CPPFLAGS="$builddir_headers-I\$(srcdir)/include -I\$(srcdir) -I\$(srcdir)/lib -I\$(srcdir)/../replace -I\$(srcdir)/../talloc -D_SAMBA_BUILD_=4 -DHAVE_CONFIG_H $CPPFLAGS"
 
 SMB_WRITE_PERLVARS(build/smb_build/config.pm)
 
index 38cdfbb6a6a78c24a045b8883c68282fead28b15..e15c6effa8207e3a7192eaf7472149469e2236f5 100644 (file)
@@ -7,7 +7,7 @@
 #define HAVE_HEIMDAL_CONFIG_H
 
 #include "include/config.h"
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 
 #define RCSID(msg) struct __rcsid { int __rcsdi; }
 #define KRB5
index 0885c2165b0144b743ef2827274fe3922bf1e124..c71b69463ccda892e5f5494683454ccae482e238 100644 (file)
@@ -19,7 +19,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 
 void *__gss_ntlm_initialize(void)
 {
index df0d8f77132ba53d728f20fe09d25d86e6a61b5c..750ebc4137b31a343822b20fddf112a096746ec7 100644 (file)
@@ -20,7 +20,7 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 
 /* make sure we have included the correct config.h */
 #ifndef NO_CONFIG_H /* for some tests */
index 5bf7ebda4fe057c700a6840e22d56a393e653731..41cb52240d741b9aab40f55b9a8c45bbd62757bd 100644 (file)
@@ -34,7 +34,7 @@
 #ifdef _SAMBA_BUILD_
 
 #define NSS_WRAPPER_NOT_REPLACE
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #include "system/passwd.h"
 #include "system/filesys.h"
 
diff --git a/source4/lib/replace/.checker_innocent b/source4/lib/replace/.checker_innocent
deleted file mode 100644 (file)
index e619176..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
->>>MISTAKE21_create_files_6a9e68ada99a97cb
->>>MISTAKE21_os2_delete_9b2bfa7f38711d09
->>>MISTAKE21_os2_delete_2fcc29aaa99a97cb
->>>SECURITY2_os2_delete_9b2bfa7f1c9396ca
diff --git a/source4/lib/replace/Makefile.in b/source4/lib/replace/Makefile.in
deleted file mode 100644 (file)
index c989835..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#!gmake
-#
-CC = @CC@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-includedir = @includedir@
-libdir = @libdir@
-VPATH = @libreplacedir@
-srcdir = @srcdir@
-builddir = @builddir@
-INSTALL = @INSTALL@
-LIBS = @LIBS@
-
-.PHONY: test all showflags install installcheck clean distclean realdistclean
-
-CFLAGS=-I. @CFLAGS@
-LDFLAGS=@LDFLAGS@
-
-OBJS = @LIBREPLACEOBJ@
-
-all: showflags libreplace.a testsuite
-
-showflags:
-       @echo 'libreplace will be compiled with flags:'
-       @echo '  CC     = $(CC)'
-       @echo '  CFLAGS = $(CFLAGS)'
-       @echo '  LDFLAGS= $(LDFLAGS)'
-       @echo '  LIBS   = $(LIBS)'
-
-install: all
-       mkdir -p $(libdir)
-       $(INSTALL) libreplace.a $(libdir)
-
-libreplace.a: $(OBJS)
-       ar -rcsv $@ $(OBJS)
-
-test: all
-       ./testsuite
-
-installcheck: install test
-
-TEST_OBJS = test/testsuite.o test/os2_delete.o test/strptime.o test/getifaddrs.o
-
-testsuite: libreplace.a $(TEST_OBJS)
-       $(CC) -o testsuite $(TEST_OBJS) -L. -lreplace $(LDFLAGS) $(LIBS)
-
-.c.o:
-       @echo Compiling $*.c
-       @mkdir -p `dirname $@`
-       @$(CC) $(CFLAGS) -c $< -o $@
-
-clean:
-       rm -f *.o test/*.o *.a testsuite
-       rm -f testfile.dat
-
-distclean: clean
-       rm -f *~ */*~
-       rm -f config.log config.status config.h config.cache
-       rm -f Makefile
-
-realdistclean: distclean
-       rm -f configure config.h.in
diff --git a/source4/lib/replace/README b/source4/lib/replace/README
deleted file mode 100644 (file)
index 4d94317..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-This subsystem ensures that we can always use a certain core set of 
-functions and types, that are either provided by the OS or by replacement 
-functions / definitions in this subsystem. The aim is to try to stick 
-to POSIX functions in here as much as possible. Convenience functions 
-that are available on no platform at all belong in other subsystems
-(such as LIBUTIL).
-
-The following functions are guaranteed:
-
-ftruncate
-strlcpy
-strlcat
-mktime
-rename
-initgroups
-memmove
-strdup
-setlinebuf
-vsyslog
-timegm
-setenv
-unsetenv
-strndup
-strnlen
-waitpid
-seteuid
-setegid
-asprintf
-snprintf
-vasprintf
-vsnprintf
-opendir
-readdir
-telldir
-seekdir
-closedir
-dlopen
-dlclose
-dlsym
-dlerror
-chroot
-bzero
-strerror
-errno
-mkdtemp
-mkstemp (a secure one!)
-pread
-pwrite
-getpass
-readline (the library)
-inet_ntoa
-inet_ntop
-inet_pton
-inet_aton
-strtoll
-strtoull
-socketpair
-strptime
-getaddrinfo
-freeaddrinfo
-getnameinfo
-gai_strerror
-getifaddrs
-freeifaddrs
-utime
-utimes
-
-Types:
-bool
-socklen_t
-uint_t
-uint{8,16,32,64}_t
-int{8,16,32,64}_t
-intptr_t
-
-Constants:
-PATH_NAME_MAX
-UINT{16,32,64}_MAX
-INT32_MAX
-RTLD_LAZY
-HOST_NAME_MAX
-UINT16_MAX
-UINT32_MAX
-UINT64_MAX
-CHAR_BIT
-
-Macros:
-va_copy
-__FUNCTION__
-__FILE__
-__LINE__
-__LINESTR__
-__location__
-__STRING
-__STRINGSTRING
-MIN
-MAX
-QSORT_CAST
-ZERO_STRUCT
-ZERO_STRUCTP
-ZERO_STRUCTPN
-ZERO_ARRAY
-ARRAY_SIZE
-PTR_DIFF
-
-Headers:
-stdint.h
-stdbool.h
-
-Prerequisites:
-memset (for bzero)
-syslog (for vsyslog)
-mktemp (for mkstemp and mkdtemp)
diff --git a/source4/lib/replace/aclocal.m4 b/source4/lib/replace/aclocal.m4
deleted file mode 100644 (file)
index 5605e47..0000000
+++ /dev/null
@@ -1 +0,0 @@
-m4_include(libreplace.m4)
diff --git a/source4/lib/replace/autoconf-2.60.m4 b/source4/lib/replace/autoconf-2.60.m4
deleted file mode 100644 (file)
index acdcd38..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-# AC_GNU_SOURCE
-# --------------
-AC_DEFUN([AC_GNU_SOURCE],
-[AH_VERBATIM([_GNU_SOURCE],
-[/* Enable GNU extensions on systems that have them.  */
-#ifndef _GNU_SOURCE
-# undef _GNU_SOURCE
-#endif])dnl
-AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
-AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
-AC_DEFINE([_GNU_SOURCE])
-])
-
-# _AC_C_STD_TRY(STANDARD, TEST-PROLOGUE, TEST-BODY, OPTION-LIST,
-#              ACTION-IF-AVAILABLE, ACTION-IF-UNAVAILABLE)
-# --------------------------------------------------------------
-# Check whether the C compiler accepts features of STANDARD (e.g `c89', `c99')
-# by trying to compile a program of TEST-PROLOGUE and TEST-BODY.  If this fails,
-# try again with each compiler option in the space-separated OPTION-LIST; if one
-# helps, append it to CC.  If eventually successful, run ACTION-IF-AVAILABLE,
-# else ACTION-IF-UNAVAILABLE.
-AC_DEFUN([_AC_C_STD_TRY],
-[AC_MSG_CHECKING([for $CC option to accept ISO ]m4_translit($1, [c], [C]))
-AC_CACHE_VAL(ac_cv_prog_cc_$1,
-[ac_cv_prog_cc_$1=no
-ac_save_CC=$CC
-AC_LANG_CONFTEST([AC_LANG_PROGRAM([$2], [$3])])
-for ac_arg in '' $4
-do
-  CC="$ac_save_CC $ac_arg"
-  _AC_COMPILE_IFELSE([], [ac_cv_prog_cc_$1=$ac_arg])
-  test "x$ac_cv_prog_cc_$1" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-])# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_$1" in
-  x)
-    AC_MSG_RESULT([none needed]) ;;
-  xno)
-    AC_MSG_RESULT([unsupported]) ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_$1"
-    AC_MSG_RESULT([$ac_cv_prog_cc_$1]) ;;
-esac
-AS_IF([test "x$ac_cv_prog_cc_$1" != xno], [$5], [$6])
-])# _AC_C_STD_TRY
-
-# _AC_PROG_CC_C99 ([ACTION-IF-AVAILABLE], [ACTION-IF-UNAVAILABLE])
-# ----------------------------------------------------------------
-# If the C compiler is not in ISO C99 mode by default, try to add an
-# option to output variable CC to make it so.  This macro tries
-# various options that select ISO C99 on some system or another.  It
-# considers the compiler to be in ISO C99 mode if it handles mixed
-# code and declarations, _Bool, inline and restrict.
-AC_DEFUN([_AC_PROG_CC_C99],
-[_AC_C_STD_TRY([c99],
-[[#include <stdarg.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-
-struct incomplete_array
-{
-  int datasize;
-  double data[];
-};
-
-struct named_init {
-  int number;
-  const wchar_t *name;
-  double average;
-};
-
-typedef const char *ccp;
-
-static inline int
-test_restrict(ccp restrict text)
-{
-  // See if C++-style comments work.
-  // Iterate through items via the restricted pointer.
-  // Also check for declarations in for loops.
-  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
-    continue;
-  return 0;
-}
-
-// Check varargs and va_copy work.
-static void
-test_varargs(const char *format, ...)
-{
-  va_list args;
-  va_start(args, format);
-  va_list args_copy;
-  va_copy(args_copy, args);
-
-  const char *str;
-  int number;
-  float fnumber;
-
-  while (*format)
-    {
-      switch (*format++)
-       {
-       case 's': // string
-         str = va_arg(args_copy, const char *);
-         break;
-       case 'd': // int
-         number = va_arg(args_copy, int);
-         break;
-       case 'f': // float
-         fnumber = (float) va_arg(args_copy, double);
-         break;
-       default:
-         break;
-       }
-    }
-  va_end(args_copy);
-  va_end(args);
-}
-]],
-[[
-  // Check bool and long long datatypes.
-  _Bool success = false;
-  long long int bignum = -1234567890LL;
-  unsigned long long int ubignum = 1234567890uLL;
-
-  // Check restrict.
-  if (test_restrict("String literal") != 0)
-    success = true;
-  char *restrict newvar = "Another string";
-
-  // Check varargs.
-  test_varargs("s, d' f .", "string", 65, 34.234);
-
-  // Check incomplete arrays work.
-  struct incomplete_array *ia =
-    malloc(sizeof(struct incomplete_array) + (sizeof(double) * 10));
-  ia->datasize = 10;
-  for (int i = 0; i < ia->datasize; ++i)
-    ia->data[i] = (double) i * 1.234;
-
-  // Check named initialisers.
-  struct named_init ni = {
-    .number = 34,
-    .name = L"Test wide string",
-    .average = 543.34343,
-  };
-
-  ni.number = 58;
-
-  int dynamic_array[ni.number];
-  dynamic_array[43] = 543;
-
-  // work around unused variable warnings
-  return  bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x';
-]],
-dnl Try
-dnl GCC                -std=gnu99 (unused restrictive modes: -std=c99 -std=iso9899:1999)
-dnl AIX                -qlanglvl=extc99 (unused restrictive mode: -qlanglvl=stdc99)
-dnl Intel ICC  -c99
-dnl IRIX       -c99
-dnl Solaris    (unused because it causes the compiler to assume C99 semantics for
-dnl            library functions, and this is invalid before Solaris 10: -xc99)
-dnl Tru64      -c99
-dnl with extended modes being tried first.
-[[-std=gnu99 -c99 -qlanglvl=extc99]], [$1], [$2])[]dnl
-])# _AC_PROG_CC_C99
-
-# AC_PROG_CC_C99
-# --------------
-AC_DEFUN([AC_PROG_CC_C99],
-[ AC_REQUIRE([AC_PROG_CC])dnl
-  _AC_PROG_CC_C99
-])
-
-# AC_USE_SYSTEM_EXTENSIONS
-# ------------------------
-# Enable extensions on systems that normally disable them,
-# typically due to standards-conformance issues.
-AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS],
-[
-  AC_BEFORE([$0], [AC_COMPILE_IFELSE])
-  AC_BEFORE([$0], [AC_RUN_IFELSE])
-
-  AC_REQUIRE([AC_GNU_SOURCE])
-  AC_REQUIRE([AC_AIX])
-  AC_REQUIRE([AC_MINIX])
-
-  AH_VERBATIM([__EXTENSIONS__],
-[/* Enable extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif])
-  AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
-    [ac_cv_safe_to_define___extensions__],
-    [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM([
-#        define __EXTENSIONS__ 1
-         AC_INCLUDES_DEFAULT])],
-       [ac_cv_safe_to_define___extensions__=yes],
-       [ac_cv_safe_to_define___extensions__=no])])
-  test $ac_cv_safe_to_define___extensions__ = yes &&
-    AC_DEFINE([__EXTENSIONS__])
-  AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
-])
diff --git a/source4/lib/replace/autogen.sh b/source4/lib/replace/autogen.sh
deleted file mode 100755 (executable)
index d46a427..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-rm -rf autom4te.cache
-rm -f configure config.h.in
-
-autoheader || exit 1
-autoconf || exit 1
-
-rm -rf autom4te.cache
-
-echo "Now run ./configure and then make."
-exit 0
-
diff --git a/source4/lib/replace/config.guess b/source4/lib/replace/config.guess
deleted file mode 100755 (executable)
index 354dbe1..0000000
+++ /dev/null
@@ -1,1464 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-
-timestamp='2005-08-03'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-       for c in cc gcc c89 c99 ; do
-         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-            CC_FOR_BUILD="$c"; break ;
-         fi ;
-       done ;
-       if test x"$CC_FOR_BUILD" = x ; then
-         CC_FOR_BUILD=no_compiler_found ;
-       fi
-       ;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-       PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-       # NetBSD (nbsd) targets should (where applicable) match one or
-       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-       # switched to ELF, *-*-netbsd* would select the old
-       # object file format.  This provides both forward
-       # compatibility and a consistent mechanism for selecting the
-       # object file format.
-       #
-       # Note: NetBSD doesn't particularly care about the vendor
-       # portion of the name.  We always set it to "unknown".
-       sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-       case "${UNAME_MACHINE_ARCH}" in
-           armeb) machine=armeb-unknown ;;
-           arm*) machine=arm-unknown ;;
-           sh3el) machine=shl-unknown ;;
-           sh3eb) machine=sh-unknown ;;
-           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-       esac
-       # The Operating System including object format, if it has switched
-       # to ELF recently, or will in the future.
-       case "${UNAME_MACHINE_ARCH}" in
-           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-               eval $set_cc_for_build
-               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-                       | grep __ELF__ >/dev/null
-               then
-                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-                   # Return netbsd for either.  FIX?
-                   os=netbsd
-               else
-                   os=netbsdelf
-               fi
-               ;;
-           *)
-               os=netbsd
-               ;;
-       esac
-       # The OS release
-       # Debian GNU/NetBSD machines have a different userland, and
-       # thus, need a distinct triplet. However, they do not need
-       # kernel version information, so it can be replaced with a
-       # suitable tag, in the style of linux-gnu.
-       case "${UNAME_VERSION}" in
-           Debian*)
-               release='-gnu'
-               ;;
-           *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-               ;;
-       esac
-       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-       # contains redundant information, the shorter form:
-       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
-       exit ;;
-    *:OpenBSD:*:*)
-       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    *:ekkoBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-       exit ;;
-    macppc:MirBSD:*:*)
-       echo powerppc-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
-    *:MirBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
-    alpha:OSF1:*:*)
-       case $UNAME_RELEASE in
-       *4.0)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-               ;;
-       *5.*)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-               ;;
-       esac
-       # According to Compaq, /usr/sbin/psrinfo has been available on
-       # OSF/1 and Tru64 systems produced since 1995.  I hope that
-       # covers most systems running today.  This code pipes the CPU
-       # types through head -n 1, so we only detect the type of CPU 0.
-       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-       case "$ALPHA_CPU_TYPE" in
-           "EV4 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "EV4.5 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "LCA4 (21066/21068)")
-               UNAME_MACHINE="alpha" ;;
-           "EV5 (21164)")
-               UNAME_MACHINE="alphaev5" ;;
-           "EV5.6 (21164A)")
-               UNAME_MACHINE="alphaev56" ;;
-           "EV5.6 (21164PC)")
-               UNAME_MACHINE="alphapca56" ;;
-           "EV5.7 (21164PC)")
-               UNAME_MACHINE="alphapca57" ;;
-           "EV6 (21264)")
-               UNAME_MACHINE="alphaev6" ;;
-           "EV6.7 (21264A)")
-               UNAME_MACHINE="alphaev67" ;;
-           "EV6.8CB (21264C)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8AL (21264B)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8CX (21264D)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE="alphaev69" ;;
-           "EV7 (21364)")
-               UNAME_MACHINE="alphaev7" ;;
-           "EV7.9 (21364A)")
-               UNAME_MACHINE="alphaev79" ;;
-       esac
-       # A Pn.n version is a patched version.
-       # A Vn.n version is a released version.
-       # A Tn.n version is a released field test version.
-       # A Xn.n version is an unreleased experimental baselevel.
-       # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       exit ;;
-    Alpha\ *:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # Should we change UNAME_MACHINE based on the output of uname instead
-       # of the specific Alpha model?
-       echo alpha-pc-interix
-       exit ;;
-    21064:Windows_NT:50:3)
-       echo alpha-dec-winnt3.5
-       exit ;;
-    Amiga*:UNIX_System_V:4.0:*)
-       echo m68k-unknown-sysv4
-       exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-amigaos
-       exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-morphos
-       exit ;;
-    *:OS/390:*:*)
-       echo i370-ibm-openedition
-       exit ;;
-    *:z/VM:*:*)
-       echo s390-ibm-zvmoe
-       exit ;;
-    *:OS400:*:*)
-        echo powerpc-ibm-os400
-       exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix${UNAME_RELEASE}
-       exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
-       echo arm-unknown-riscos
-       exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-       echo hppa1.1-hitachi-hiuxmpp
-       exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-       if test "`(/bin/universe) 2>/dev/null`" = att ; then
-               echo pyramid-pyramid-sysv3
-       else
-               echo pyramid-pyramid-bsd
-       fi
-       exit ;;
-    NILE*:*:*:dcosx)
-       echo pyramid-pyramid-svr4
-       exit ;;
-    DRS?6000:unix:4.0:6*)
-       echo sparc-icl-nx6
-       exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-       case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7; exit ;;
-       esac ;;
-    sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    i86pc:SunOS:5.*:*)
-       echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:6*:*)
-       # According to config.sub, this is the proper way to canonicalize
-       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-       # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:*:*)
-       case "`/usr/bin/arch -k`" in
-           Series*|S4*)
-               UNAME_RELEASE=`uname -v`
-               ;;
-       esac
-       # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-       exit ;;
-    sun3*:SunOS:*:*)
-       echo m68k-sun-sunos${UNAME_RELEASE}
-       exit ;;
-    sun*:*:4.2BSD:*)
-       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-       case "`/bin/arch`" in
-           sun3)
-               echo m68k-sun-sunos${UNAME_RELEASE}
-               ;;
-           sun4)
-               echo sparc-sun-sunos${UNAME_RELEASE}
-               ;;
-       esac
-       exit ;;
-    aushp:SunOS:*:*)
-       echo sparc-auspex-sunos${UNAME_RELEASE}
-       exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
-    m68k:machten:*:*)
-       echo m68k-apple-machten${UNAME_RELEASE}
-       exit ;;
-    powerpc:machten:*:*)
-       echo powerpc-apple-machten${UNAME_RELEASE}
-       exit ;;
-    RISC*:Mach:*:*)
-       echo mips-dec-mach_bsd4.3
-       exit ;;
-    RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix${UNAME_RELEASE}
-       exit ;;
-    VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix${UNAME_RELEASE}
-       exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix${UNAME_RELEASE}
-       exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-       int main (int argc, char *argv[]) {
-#else
-       int main (argc, argv) int argc; char *argv[]; {
-#endif
-       #if defined (host_mips) && defined (MIPSEB)
-       #if defined (SYSTYPE_SYSV)
-         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_SVR4)
-         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-       #endif
-       #endif
-         exit (-1);
-       }
-EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c &&
-         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-         SYSTEM_NAME=`$dummy $dummyarg` &&
-           { echo "$SYSTEM_NAME"; exit; }
-       echo mips-mips-riscos${UNAME_RELEASE}
-       exit ;;
-    Motorola:PowerMAX_OS:*:*)
-       echo powerpc-motorola-powermax
-       exit ;;
-    Motorola:*:4.3:PL8-*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-       echo powerpc-harris-powerunix
-       exit ;;
-    m88k:CX/UX:7*:*)
-       echo m88k-harris-cxux7
-       exit ;;
-    m88k:*:4*:R4*)
-       echo m88k-motorola-sysv4
-       exit ;;
-    m88k:*:3*:R3*)
-       echo m88k-motorola-sysv3
-       exit ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-       then
-           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-              [ ${TARGET_BINARY_INTERFACE}x = x ]
-           then
-               echo m88k-dg-dgux${UNAME_RELEASE}
-           else
-               echo m88k-dg-dguxbcs${UNAME_RELEASE}
-           fi
-       else
-           echo i586-dg-dgux${UNAME_RELEASE}
-       fi
-       exit ;;
-    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
-       echo m88k-dolphin-sysv3
-       exit ;;
-    M88*:*:R3*:*)
-       # Delta 88k system running SVR3
-       echo m88k-motorola-sysv3
-       exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-       echo m88k-tektronix-sysv3
-       exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-       echo m68k-tektronix-bsd
-       exit ;;
-    *:IRIX*:*:*)
-       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-       exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-       echo i386-ibm-aix
-       exit ;;
-    ia64:AIX:*:*)
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-       fi
-       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-       exit ;;
-    *:AIX:2:3)
-       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               eval $set_cc_for_build
-               sed 's/^                //' << EOF >$dummy.c
-               #include <sys/systemcfg.h>
-
-               main()
-                       {
-                       if (!__power_pc())
-                               exit(1);
-                       puts("powerpc-ibm-aix3.2.5");
-                       exit(0);
-                       }
-EOF
-               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-               then
-                       echo "$SYSTEM_NAME"
-               else
-                       echo rs6000-ibm-aix3.2.5
-               fi
-       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-               echo rs6000-ibm-aix3.2.4
-       else
-               echo rs6000-ibm-aix3.2
-       fi
-       exit ;;
-    *:AIX:*:[45])
-       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-               IBM_ARCH=rs6000
-       else
-               IBM_ARCH=powerpc
-       fi
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-       fi
-       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-       exit ;;
-    *:AIX:*:*)
-       echo rs6000-ibm-aix
-       exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-       echo romp-ibm-bsd4.4
-       exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-       exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-       echo rs6000-bull-bosx
-       exit ;;
-    DPX/2?00:B.O.S.:*:*)
-       echo m68k-bull-sysv3
-       exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-       echo m68k-hp-bsd
-       exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-       echo m68k-hp-bsd4.4
-       exit ;;
-    9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       case "${UNAME_MACHINE}" in
-           9000/31? )            HP_ARCH=m68000 ;;
-           9000/[34]?? )         HP_ARCH=m68k ;;
-           9000/[678][0-9][0-9])
-               if [ -x /usr/bin/getconf ]; then
-                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
-                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
-               fi
-               if [ "${HP_ARCH}" = "" ]; then
-                   eval $set_cc_for_build
-                   sed 's/^              //' << EOF >$dummy.c
-
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
-
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
-
-                  switch (cpu)
-               {
-               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-               case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-                   switch (bits)
-                       {
-                       case 64: puts ("hppa2.0w"); break;
-                       case 32: puts ("hppa2.0n"); break;
-                       default: puts ("hppa2.0"); break;
-                       } break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-                   puts ("hppa2.0"); break;
-              #endif
-               default: puts ("hppa1.0"); break;
-               }
-                  exit (0);
-              }
-EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-                   test -z "$HP_ARCH" && HP_ARCH=hppa
-               fi ;;
-       esac
-       if [ ${HP_ARCH} = "hppa2.0w" ]
-       then
-           eval $set_cc_for_build
-
-           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-           # generating 64-bit code.  GNU and HP use different nomenclature:
-           #
-           # $ CC_FOR_BUILD=cc ./config.guess
-           # => hppa2.0w-hp-hpux11.23
-           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-           # => hppa64-hp-hpux11.23
-
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-               grep __LP64__ >/dev/null
-           then
-               HP_ARCH="hppa2.0w"
-           else
-               HP_ARCH="hppa64"
-           fi
-       fi
-       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-       exit ;;
-    ia64:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux${HPUX_REV}
-       exit ;;
-    3050*:HI-UX:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <unistd.h>
-       int
-       main ()
-       {
-         long cpu = sysconf (_SC_CPU_VERSION);
-         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-            results, however.  */
-         if (CPU_IS_PA_RISC (cpu))
-           {
-             switch (cpu)
-               {
-                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-                 default: puts ("hppa-hitachi-hiuxwe2"); break;
-               }
-           }
-         else if (CPU_IS_HP_MC68K (cpu))
-           puts ("m68k-hitachi-hiuxwe2");
-         else puts ("unknown-hitachi-hiuxwe2");
-         exit (0);
-       }
-EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-               { echo "$SYSTEM_NAME"; exit; }
-       echo unknown-hitachi-hiuxwe2
-       exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-       echo hppa1.1-hp-bsd
-       exit ;;
-    9000/8??:4.3bsd:*:*)
-       echo hppa1.0-hp-bsd
-       exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-       echo hppa1.0-hp-mpeix
-       exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-       echo hppa1.1-hp-osf
-       exit ;;
-    hp8??:OSF1:*:*)
-       echo hppa1.0-hp-osf
-       exit ;;
-    i*86:OSF1:*:*)
-       if [ -x /usr/sbin/sysversion ] ; then
-           echo ${UNAME_MACHINE}-unknown-osf1mk
-       else
-           echo ${UNAME_MACHINE}-unknown-osf1
-       fi
-       exit ;;
-    parisc*:Lites*:*:*)
-       echo hppa1.1-hp-lites
-       exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-       echo c1-convex-bsd
-        exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-        exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-       echo c34-convex-bsd
-        exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-       echo c38-convex-bsd
-        exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-       echo c4-convex-bsd
-        exit ;;
-    CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*[A-Z]90:*:*:*)
-       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-             -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*TS:*:*:*)
-       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    *:UNICOS/mp:*:*)
-       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
-    5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-       exit ;;
-    sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
-    *:BSD/OS:*:*)
-       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
-    *:FreeBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-       exit ;;
-    i*:CYGWIN*:*)
-       echo ${UNAME_MACHINE}-pc-cygwin
-       exit ;;
-    i*:MINGW*:*)
-       echo ${UNAME_MACHINE}-pc-mingw32
-       exit ;;
-    i*:windows32*:*)
-       # uname -m includes "-pc" on this system.
-       echo ${UNAME_MACHINE}-mingw32
-       exit ;;
-    i*:PW*:*)
-       echo ${UNAME_MACHINE}-pc-pw32
-       exit ;;
-    x86:Interix*:[34]*)
-       echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
-       exit ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-       echo i${UNAME_MACHINE}-pc-mks
-       exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-       # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i586-pc-interix
-       exit ;;
-    i*:UWIN*:*)
-       echo ${UNAME_MACHINE}-pc-uwin
-       exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-       echo x86_64-unknown-cygwin
-       exit ;;
-    p*:CYGWIN*:*)
-       echo powerpcle-unknown-cygwin
-       exit ;;
-    prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    *:GNU:*:*)
-       # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-       exit ;;
-    *:GNU/*:*:*)
-       # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-       exit ;;
-    i*86:Minix:*:*)
-       echo ${UNAME_MACHINE}-pc-minix
-       exit ;;
-    arm*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    cris:Linux:*:*)
-       echo cris-axis-linux-gnu
-       exit ;;
-    crisv32:Linux:*:*)
-       echo crisv32-axis-linux-gnu
-       exit ;;
-    frv:Linux:*:*)
-       echo frv-unknown-linux-gnu
-       exit ;;
-    ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    mips:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef mips
-       #undef mipsel
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mipsel
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-       ;;
-    mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef mips64
-       #undef mips64el
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mips64el
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips64
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-       ;;
-    or32:Linux:*:*)
-       echo or32-unknown-linux-gnu
-       exit ;;
-    ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
-       exit ;;
-    ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
-       exit ;;
-    alpha:Linux:*:*)
-       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-         EV5)   UNAME_MACHINE=alphaev5 ;;
-         EV56)  UNAME_MACHINE=alphaev56 ;;
-         PCA56) UNAME_MACHINE=alphapca56 ;;
-         PCA57) UNAME_MACHINE=alphapca56 ;;
-         EV6)   UNAME_MACHINE=alphaev6 ;;
-         EV67)  UNAME_MACHINE=alphaev67 ;;
-         EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-       objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-       exit ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-       # Look for CPU level
-       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
-       esac
-       exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
-       exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
-       exit ;;
-    sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    x86_64:Linux:*:*)
-       echo x86_64-unknown-linux-gnu
-       exit ;;
-    i*86:Linux:*:*)
-       # The BFD linker knows what the default object file format is, so
-       # first see if it will tell us. cd to the root directory to prevent
-       # problems with other programs or directories called `ld' in the path.
-       # Set LC_ALL=C to ensure ld outputs messages in English.
-       ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-                        | sed -ne '/supported targets:/!d
-                                   s/[         ][      ]*/ /g
-                                   s/.*supported targets: *//
-                                   s/ .*//
-                                   p'`
-        case "$ld_supported_targets" in
-         elf32-i386)
-               TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-               ;;
-         a.out-i386-linux)
-               echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-               exit ;;
-         coff-i386)
-               echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-               exit ;;
-         "")
-               # Either a pre-BFD a.out linker (linux-gnuoldld) or
-               # one that does not give us useful --help.
-               echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-               exit ;;
-       esac
-       # Determine whether the default compiler is a.out or elf
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #ifdef __ELF__
-       # ifdef __GLIBC__
-       #  if __GLIBC__ >= 2
-       LIBC=gnu
-       #  else
-       LIBC=gnulibc1
-       #  endif
-       # else
-       LIBC=gnulibc1
-       # endif
-       #else
-       #ifdef __INTEL_COMPILER
-       LIBC=gnu
-       #else
-       LIBC=gnuaout
-       #endif
-       #endif
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       test x"${LIBC}" != x && {
-               echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-               exit
-       }
-       test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
-       ;;
-    i*86:DYNIX/ptx:4*:*)
-       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-       # earlier versions are messed up and put the nodename in both
-       # sysname and nodename.
-       echo i386-sequent-sysv4
-       exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
-       # I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
-       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-       exit ;;
-    i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
-       # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
-       exit ;;
-    i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
-       exit ;;
-    i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
-       exit ;;
-    i*86:syllable:*:*)
-       echo ${UNAME_MACHINE}-pc-syllable
-       exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-       else
-               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-       fi
-       exit ;;
-    i*86:*:5:[678]*)
-       # UnixWare 7.x, OpenUNIX and OpenServer 6.
-       case `/bin/uname -X | grep "^Machine"` in
-           *486*)           UNAME_MACHINE=i486 ;;
-           *Pentium)        UNAME_MACHINE=i586 ;;
-           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-       esac
-       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-       exit ;;
-    i*86:*:3.2:*)
-       if test -f /usr/options/cb.name; then
-               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-       elif /bin/uname -X 2>/dev/null >/dev/null ; then
-               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-                       && UNAME_MACHINE=i586
-               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-       else
-               echo ${UNAME_MACHINE}-pc-sysv32
-       fi
-       exit ;;
-    pc:*:*:*)
-       # Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-       echo i386-pc-msdosdjgpp
-        exit ;;
-    Intel:Mach:3*:*)
-       echo i386-pc-mach3
-       exit ;;
-    paragon:*:*:*)
-       echo i860-intel-osf1
-       exit ;;
-    i860:*:4.*:*) # i860-SVR4
-       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-       else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-       fi
-       exit ;;
-    mini*:CTIX:SYS*5:*)
-       # "miniframe"
-       echo m68010-convergent-sysv
-       exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-       echo m68k-convergent-sysv
-       exit ;;
-    M680?0:D-NIX:5.3:*)
-       echo m68k-diab-dnix
-       exit ;;
-    M68*:*:R3V[5678]*:*)
-       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-       OS_REL=''
-       test -r /etc/.relid \
-       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && { echo i486-ncr-sysv4; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-       echo m68k-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-       echo m68k-atari-sysv4
-       exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    rs6000:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
-       echo powerpc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv${UNAME_RELEASE}
-       exit ;;
-    RM*:ReliantUNIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    RM*:SINIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    *:SINIX-*:*:*)
-       if uname -p 2>/dev/null >/dev/null ; then
-               UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo ${UNAME_MACHINE}-sni-sysv4
-       else
-               echo ns32k-sni-sysv
-       fi
-       exit ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit ;;
-    *:UNIX_System_V:4*:FTX*)
-       # From Gerald Hewes <hewes@openmarket.com>.
-       # How about differentiating between stratus architectures? -djm
-       echo hppa1.1-stratus-sysv4
-       exit ;;
-    *:*:*:FTX*)
-       # From seanf@swdc.stratus.com.
-       echo i860-stratus-sysv4
-       exit ;;
-    i*86:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo ${UNAME_MACHINE}-stratus-vos
-       exit ;;
-    *:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo hppa1.1-stratus-vos
-       exit ;;
-    mc68*:A/UX:*:*)
-       echo m68k-apple-aux${UNAME_RELEASE}
-       exit ;;
-    news*:NEWS-OS:6*:*)
-       echo mips-sony-newsos6
-       exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-       if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
-       else
-               echo mips-unknown-sysv${UNAME_RELEASE}
-       fi
-        exit ;;
-    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
-       echo powerpc-be-beos
-       exit ;;
-    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
-       echo powerpc-apple-beos
-       exit ;;
-    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
-       echo i586-pc-beos
-       exit ;;
-    SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux${UNAME_RELEASE}
-       exit ;;
-    Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
-    *:Rhapsody:*:*)
-       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
-    *:Darwin:*:*)
-       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       case $UNAME_PROCESSOR in
-           *86) UNAME_PROCESSOR=i686 ;;
-           unknown) UNAME_PROCESSOR=powerpc ;;
-       esac
-       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-       exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-       UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
-               UNAME_PROCESSOR=i386
-               UNAME_MACHINE=pc
-       fi
-       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-       exit ;;
-    *:QNX:*:4*)
-       echo i386-pc-qnx
-       exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    *:NonStop-UX:*:*)
-       echo mips-compaq-nonstopux
-       exit ;;
-    BS2000:POSIX*:*:*)
-       echo bs2000-siemens-sysv
-       exit ;;
-    DS/*:UNIX_System_V:*:*)
-       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-       exit ;;
-    *:Plan9:*:*)
-       # "uname -m" is not consistent, so use $cputype instead. 386
-       # is converted to i386 for consistency with other x86
-       # operating systems.
-       if test "$cputype" = "386"; then
-           UNAME_MACHINE=i386
-       else
-           UNAME_MACHINE="$cputype"
-       fi
-       echo ${UNAME_MACHINE}-unknown-plan9
-       exit ;;
-    *:TOPS-10:*:*)
-       echo pdp10-unknown-tops10
-       exit ;;
-    *:TENEX:*:*)
-       echo pdp10-unknown-tenex
-       exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-       echo pdp10-dec-tops20
-       exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-       echo pdp10-xkl-tops20
-       exit ;;
-    *:TOPS-20:*:*)
-       echo pdp10-unknown-tops20
-       exit ;;
-    *:ITS:*:*)
-       echo pdp10-unknown-its
-       exit ;;
-    SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
-       exit ;;
-    *:DragonFly:*:*)
-       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-       exit ;;
-    *:*VMS:*:*)
-       UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       case "${UNAME_MACHINE}" in
-           A*) echo alpha-dec-vms ; exit ;;
-           I*) echo ia64-dec-vms ; exit ;;
-           V*) echo vax-dec-vms ; exit ;;
-       esac ;;
-    *:XENIX:*:SysV)
-       echo i386-pc-xenix
-       exit ;;
-    i*86:skyos:*:*)
-       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-       exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-         ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-       printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-       printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-       { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-       echo c1-convex-bsd
-       exit ;;
-    c2*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    c34*)
-       echo c34-convex-bsd
-       exit ;;
-    c38*)
-       echo c38-convex-bsd
-       exit ;;
-    c4*)
-       echo c4-convex-bsd
-       exit ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
-and
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/source4/lib/replace/config.sub b/source4/lib/replace/config.sub
deleted file mode 100755 (executable)
index 23cd6fd..0000000
+++ /dev/null
@@ -1,1577 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-
-timestamp='2005-07-08'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit ;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
-  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-       -sun*os*)
-               # Prevent following clause from handling this invalid input.
-               ;;
-       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray)
-               os=
-               basic_machine=$1
-               ;;
-       -sim | -cisco | -oki | -wec | -winbond)
-               os=
-               basic_machine=$1
-               ;;
-       -scout)
-               ;;
-       -wrs)
-               os=-vxworks
-               basic_machine=$1
-               ;;
-       -chorusos*)
-               os=-chorusos
-               basic_machine=$1
-               ;;
-       -chorusrdb)
-               os=-chorusrdb
-               basic_machine=$1
-               ;;
-       -hiux*)
-               os=-hiuxwe2
-               ;;
-       -sco5)
-               os=-sco3.2v5
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco4)
-               os=-sco3.2v4
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2.[4-9]*)
-               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2v[4-9]*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco*)
-               os=-sco3.2v2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -udk*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -isc)
-               os=-isc2.2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -clix*)
-               basic_machine=clipper-intergraph
-               ;;
-       -isc*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -lynx*)
-               os=-lynxos
-               ;;
-       -ptx*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-               ;;
-       -windowsnt*)
-               os=`echo $os | sed -e 's/windowsnt/winnt/'`
-               ;;
-       -psos*)
-               os=-psos
-               ;;
-       -mint | -mint[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-       # Recognize the basic CPU types without company name.
-       # Some are omitted here because they have special meanings below.
-       1750a | 580 \
-       | a29k \
-       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-       | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
-       | bfin \
-       | c4x | clipper \
-       | d10v | d30v | dlx | dsp16xx \
-       | fr30 | frv \
-       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-       | i370 | i860 | i960 | ia64 \
-       | ip2k | iq2000 \
-       | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
-       | mips | mipsbe | mipseb | mipsel | mipsle \
-       | mips16 \
-       | mips64 | mips64el \
-       | mips64vr | mips64vrel \
-       | mips64orion | mips64orionel \
-       | mips64vr4100 | mips64vr4100el \
-       | mips64vr4300 | mips64vr4300el \
-       | mips64vr5000 | mips64vr5000el \
-       | mips64vr5900 | mips64vr5900el \
-       | mipsisa32 | mipsisa32el \
-       | mipsisa32r2 | mipsisa32r2el \
-       | mipsisa64 | mipsisa64el \
-       | mipsisa64r2 | mipsisa64r2el \
-       | mipsisa64sb1 | mipsisa64sb1el \
-       | mipsisa64sr71k | mipsisa64sr71kel \
-       | mipstx39 | mipstx39el \
-       | mn10200 | mn10300 \
-       | ms1 \
-       | msp430 \
-       | ns16k | ns32k \
-       | or32 \
-       | pdp10 | pdp11 | pj | pjl \
-       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-       | pyramid \
-       | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
-       | sh64 | sh64le \
-       | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
-       | sparcv8 | sparcv9 | sparcv9b \
-       | strongarm \
-       | tahoe | thumb | tic4x | tic80 | tron \
-       | v850 | v850e \
-       | we32k \
-       | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
-       | z8k)
-               basic_machine=$basic_machine-unknown
-               ;;
-       m32c)
-               basic_machine=$basic_machine-unknown
-               ;;
-       m6811 | m68hc11 | m6812 | m68hc12)
-               # Motorola 68HC11/12.
-               basic_machine=$basic_machine-unknown
-               os=-none
-               ;;
-       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-               ;;
-
-       # We use `pc' rather than `unknown'
-       # because (1) that's what they normally are, and
-       # (2) the word "unknown" tends to confuse beginning users.
-       i*86 | x86_64)
-         basic_machine=$basic_machine-pc
-         ;;
-       # Object if more than one company name word.
-       *-*-*)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-       # Recognize the basic CPU types with company name.
-       580-* \
-       | a29k-* \
-       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-       | avr-* \
-       | bfin-* | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-       | clipper-* | craynv-* | cydra-* \
-       | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
-       | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
-       | h8300-* | h8500-* \
-       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-       | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* | iq2000-* \
-       | m32r-* | m32rle-* \
-       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* \
-       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-       | mips16-* \
-       | mips64-* | mips64el-* \
-       | mips64vr-* | mips64vrel-* \
-       | mips64orion-* | mips64orionel-* \
-       | mips64vr4100-* | mips64vr4100el-* \
-       | mips64vr4300-* | mips64vr4300el-* \
-       | mips64vr5000-* | mips64vr5000el-* \
-       | mips64vr5900-* | mips64vr5900el-* \
-       | mipsisa32-* | mipsisa32el-* \
-       | mipsisa32r2-* | mipsisa32r2el-* \
-       | mipsisa64-* | mipsisa64el-* \
-       | mipsisa64r2-* | mipsisa64r2el-* \
-       | mipsisa64sb1-* | mipsisa64sb1el-* \
-       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-       | mipstx39-* | mipstx39el-* \
-       | mmix-* \
-       | ms1-* \
-       | msp430-* \
-       | none-* | np1-* | ns16k-* | ns32k-* \
-       | orion-* \
-       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-       | pyramid-* \
-       | romp-* | rs6000-* \
-       | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
-       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
-       | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
-       | tahoe-* | thumb-* \
-       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-       | tron-* \
-       | v850-* | v850e-* | vax-* \
-       | we32k-* \
-       | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
-       | xstormy16-* | xtensa-* \
-       | ymp-* \
-       | z8k-*)
-               ;;
-       m32c-*)
-               ;;
-       # Recognize the various machine names and aliases which stand
-       # for a CPU type and a company and sometimes even an OS.
-       386bsd)
-               basic_machine=i386-unknown
-               os=-bsd
-               ;;
-       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-               basic_machine=m68000-att
-               ;;
-       3b*)
-               basic_machine=we32k-att
-               ;;
-       a29khif)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       abacus)
-               basic_machine=abacus-unknown
-               ;;
-       adobe68k)
-               basic_machine=m68010-adobe
-               os=-scout
-               ;;
-       alliant | fx80)
-               basic_machine=fx80-alliant
-               ;;
-       altos | altos3068)
-               basic_machine=m68k-altos
-               ;;
-       am29k)
-               basic_machine=a29k-none
-               os=-bsd
-               ;;
-       amd64)
-               basic_machine=x86_64-pc
-               ;;
-       amd64-*)
-               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       amdahl)
-               basic_machine=580-amdahl
-               os=-sysv
-               ;;
-       amiga | amiga-*)
-               basic_machine=m68k-unknown
-               ;;
-       amigaos | amigados)
-               basic_machine=m68k-unknown
-               os=-amigaos
-               ;;
-       amigaunix | amix)
-               basic_machine=m68k-unknown
-               os=-sysv4
-               ;;
-       apollo68)
-               basic_machine=m68k-apollo
-               os=-sysv
-               ;;
-       apollo68bsd)
-               basic_machine=m68k-apollo
-               os=-bsd
-               ;;
-       aux)
-               basic_machine=m68k-apple
-               os=-aux
-               ;;
-       balance)
-               basic_machine=ns32k-sequent
-               os=-dynix
-               ;;
-       c90)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
-       convex-c1)
-               basic_machine=c1-convex
-               os=-bsd
-               ;;
-       convex-c2)
-               basic_machine=c2-convex
-               os=-bsd
-               ;;
-       convex-c32)
-               basic_machine=c32-convex
-               os=-bsd
-               ;;
-       convex-c34)
-               basic_machine=c34-convex
-               os=-bsd
-               ;;
-       convex-c38)
-               basic_machine=c38-convex
-               os=-bsd
-               ;;
-       cray | j90)
-               basic_machine=j90-cray
-               os=-unicos
-               ;;
-       craynv)
-               basic_machine=craynv-cray
-               os=-unicosmp
-               ;;
-       cr16c)
-               basic_machine=cr16c-unknown
-               os=-elf
-               ;;
-       crds | unos)
-               basic_machine=m68k-crds
-               ;;
-       crisv32 | crisv32-* | etraxfs*)
-               basic_machine=crisv32-axis
-               ;;
-       cris | cris-* | etrax*)
-               basic_machine=cris-axis
-               ;;
-       crx)
-               basic_machine=crx-unknown
-               os=-elf
-               ;;
-       da30 | da30-*)
-               basic_machine=m68k-da30
-               ;;
-       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-               basic_machine=mips-dec
-               ;;
-       decsystem10* | dec10*)
-               basic_machine=pdp10-dec
-               os=-tops10
-               ;;
-       decsystem20* | dec20*)
-               basic_machine=pdp10-dec
-               os=-tops20
-               ;;
-       delta | 3300 | motorola-3300 | motorola-delta \
-             | 3300-motorola | delta-motorola)
-               basic_machine=m68k-motorola
-               ;;
-       delta88)
-               basic_machine=m88k-motorola
-               os=-sysv3
-               ;;
-       djgpp)
-               basic_machine=i586-pc
-               os=-msdosdjgpp
-               ;;
-       dpx20 | dpx20-*)
-               basic_machine=rs6000-bull
-               os=-bosx
-               ;;
-       dpx2* | dpx2*-bull)
-               basic_machine=m68k-bull
-               os=-sysv3
-               ;;
-       ebmon29k)
-               basic_machine=a29k-amd
-               os=-ebmon
-               ;;
-       elxsi)
-               basic_machine=elxsi-elxsi
-               os=-bsd
-               ;;
-       encore | umax | mmax)
-               basic_machine=ns32k-encore
-               ;;
-       es1800 | OSE68k | ose68k | ose | OSE)
-               basic_machine=m68k-ericsson
-               os=-ose
-               ;;
-       fx2800)
-               basic_machine=i860-alliant
-               ;;
-       genix)
-               basic_machine=ns32k-ns
-               ;;
-       gmicro)
-               basic_machine=tron-gmicro
-               os=-sysv
-               ;;
-       go32)
-               basic_machine=i386-pc
-               os=-go32
-               ;;
-       h3050r* | hiux*)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       h8300hms)
-               basic_machine=h8300-hitachi
-               os=-hms
-               ;;
-       h8300xray)
-               basic_machine=h8300-hitachi
-               os=-xray
-               ;;
-       h8500hms)
-               basic_machine=h8500-hitachi
-               os=-hms
-               ;;
-       harris)
-               basic_machine=m88k-harris
-               os=-sysv3
-               ;;
-       hp300-*)
-               basic_machine=m68k-hp
-               ;;
-       hp300bsd)
-               basic_machine=m68k-hp
-               os=-bsd
-               ;;
-       hp300hpux)
-               basic_machine=m68k-hp
-               os=-hpux
-               ;;
-       hp3k9[0-9][0-9] | hp9[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k2[0-9][0-9] | hp9k31[0-9])
-               basic_machine=m68000-hp
-               ;;
-       hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
-               ;;
-       hp9k6[0-9][0-9] | hp6[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k7[0-79][0-9] | hp7[0-79][0-9])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k78[0-9] | hp78[0-9])
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][13679] | hp8[0-9][13679])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][0-9] | hp8[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hppa-next)
-               os=-nextstep3
-               ;;
-       hppaosf)
-               basic_machine=hppa1.1-hp
-               os=-osf
-               ;;
-       hppro)
-               basic_machine=hppa1.1-hp
-               os=-proelf
-               ;;
-       i370-ibm* | ibm*)
-               basic_machine=i370-ibm
-               ;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-       i*86v32)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv32
-               ;;
-       i*86v4*)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv4
-               ;;
-       i*86v)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv
-               ;;
-       i*86sol2)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-solaris2
-               ;;
-       i386mach)
-               basic_machine=i386-mach
-               os=-mach
-               ;;
-       i386-vsta | vsta)
-               basic_machine=i386-unknown
-               os=-vsta
-               ;;
-       iris | iris4d)
-               basic_machine=mips-sgi
-               case $os in
-                   -irix*)
-                       ;;
-                   *)
-                       os=-irix4
-                       ;;
-               esac
-               ;;
-       isi68 | isi)
-               basic_machine=m68k-isi
-               os=-sysv
-               ;;
-       m88k-omron*)
-               basic_machine=m88k-omron
-               ;;
-       magnum | m3230)
-               basic_machine=mips-mips
-               os=-sysv
-               ;;
-       merlin)
-               basic_machine=ns32k-utek
-               os=-sysv
-               ;;
-       mingw32)
-               basic_machine=i386-pc
-               os=-mingw32
-               ;;
-       miniframe)
-               basic_machine=m68000-convergent
-               ;;
-       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-       mips3*-*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-               ;;
-       mips3*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-               ;;
-       monitor)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       morphos)
-               basic_machine=powerpc-unknown
-               os=-morphos
-               ;;
-       msdos)
-               basic_machine=i386-pc
-               os=-msdos
-               ;;
-       mvs)
-               basic_machine=i370-ibm
-               os=-mvs
-               ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
-               ;;
-       netbsd386)
-               basic_machine=i386-unknown
-               os=-netbsd
-               ;;
-       netwinder)
-               basic_machine=armv4l-rebel
-               os=-linux
-               ;;
-       news | news700 | news800 | news900)
-               basic_machine=m68k-sony
-               os=-newsos
-               ;;
-       news1000)
-               basic_machine=m68030-sony
-               os=-newsos
-               ;;
-       news-3600 | risc-news)
-               basic_machine=mips-sony
-               os=-newsos
-               ;;
-       necv70)
-               basic_machine=v70-nec
-               os=-sysv
-               ;;
-       next | m*-next )
-               basic_machine=m68k-next
-               case $os in
-                   -nextstep* )
-                       ;;
-                   -ns2*)
-                     os=-nextstep2
-                       ;;
-                   *)
-                     os=-nextstep3
-                       ;;
-               esac
-               ;;
-       nh3000)
-               basic_machine=m68k-harris
-               os=-cxux
-               ;;
-       nh[45]000)
-               basic_machine=m88k-harris
-               os=-cxux
-               ;;
-       nindy960)
-               basic_machine=i960-intel
-               os=-nindy
-               ;;
-       mon960)
-               basic_machine=i960-intel
-               os=-mon960
-               ;;
-       nonstopux)
-               basic_machine=mips-compaq
-               os=-nonstopux
-               ;;
-       np1)
-               basic_machine=np1-gould
-               ;;
-       nsr-tandem)
-               basic_machine=nsr-tandem
-               ;;
-       op50n-* | op60c-*)
-               basic_machine=hppa1.1-oki
-               os=-proelf
-               ;;
-       openrisc | openrisc-*)
-               basic_machine=or32-unknown
-               ;;
-       os400)
-               basic_machine=powerpc-ibm
-               os=-os400
-               ;;
-       OSE68000 | ose68000)
-               basic_machine=m68000-ericsson
-               os=-ose
-               ;;
-       os68k)
-               basic_machine=m68k-none
-               os=-os68k
-               ;;
-       pa-hitachi)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       paragon)
-               basic_machine=i860-intel
-               os=-osf
-               ;;
-       pbd)
-               basic_machine=sparc-tti
-               ;;
-       pbb)
-               basic_machine=m68k-tti
-               ;;
-       pc532 | pc532-*)
-               basic_machine=ns32k-pc532
-               ;;
-       pentium | p5 | k5 | k6 | nexgen | viac3)
-               basic_machine=i586-pc
-               ;;
-       pentiumpro | p6 | 6x86 | athlon | athlon_*)
-               basic_machine=i686-pc
-               ;;
-       pentiumii | pentium2 | pentiumiii | pentium3)
-               basic_machine=i686-pc
-               ;;
-       pentium4)
-               basic_machine=i786-pc
-               ;;
-       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumpro-* | p6-* | 6x86-* | athlon-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium4-*)
-               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pn)
-               basic_machine=pn-gould
-               ;;
-       power)  basic_machine=power-ibm
-               ;;
-       ppc)    basic_machine=powerpc-unknown
-               ;;
-       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
-               basic_machine=powerpcle-unknown
-               ;;
-       ppcle-* | powerpclittle-*)
-               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64)  basic_machine=powerpc64-unknown
-               ;;
-       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-               basic_machine=powerpc64le-unknown
-               ;;
-       ppc64le-* | powerpc64little-*)
-               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ps2)
-               basic_machine=i386-ibm
-               ;;
-       pw32)
-               basic_machine=i586-unknown
-               os=-pw32
-               ;;
-       rom68k)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       rm[46]00)
-               basic_machine=mips-siemens
-               ;;
-       rtpc | rtpc-*)
-               basic_machine=romp-ibm
-               ;;
-       s390 | s390-*)
-               basic_machine=s390-ibm
-               ;;
-       s390x | s390x-*)
-               basic_machine=s390x-ibm
-               ;;
-       sa29200)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       sb1)
-               basic_machine=mipsisa64sb1-unknown
-               ;;
-       sb1el)
-               basic_machine=mipsisa64sb1el-unknown
-               ;;
-       sei)
-               basic_machine=mips-sei
-               os=-seiux
-               ;;
-       sequent)
-               basic_machine=i386-sequent
-               ;;
-       sh)
-               basic_machine=sh-hitachi
-               os=-hms
-               ;;
-       sh64)
-               basic_machine=sh64-unknown
-               ;;
-       sparclite-wrs | simso-wrs)
-               basic_machine=sparclite-wrs
-               os=-vxworks
-               ;;
-       sps7)
-               basic_machine=m68k-bull
-               os=-sysv2
-               ;;
-       spur)
-               basic_machine=spur-unknown
-               ;;
-       st2000)
-               basic_machine=m68k-tandem
-               ;;
-       stratus)
-               basic_machine=i860-stratus
-               os=-sysv4
-               ;;
-       sun2)
-               basic_machine=m68000-sun
-               ;;
-       sun2os3)
-               basic_machine=m68000-sun
-               os=-sunos3
-               ;;
-       sun2os4)
-               basic_machine=m68000-sun
-               os=-sunos4
-               ;;
-       sun3os3)
-               basic_machine=m68k-sun
-               os=-sunos3
-               ;;
-       sun3os4)
-               basic_machine=m68k-sun
-               os=-sunos4
-               ;;
-       sun4os3)
-               basic_machine=sparc-sun
-               os=-sunos3
-               ;;
-       sun4os4)
-               basic_machine=sparc-sun
-               os=-sunos4
-               ;;
-       sun4sol2)
-               basic_machine=sparc-sun
-               os=-solaris2
-               ;;
-       sun3 | sun3-*)
-               basic_machine=m68k-sun
-               ;;
-       sun4)
-               basic_machine=sparc-sun
-               ;;
-       sun386 | sun386i | roadrunner)
-               basic_machine=i386-sun
-               ;;
-       sv1)
-               basic_machine=sv1-cray
-               os=-unicos
-               ;;
-       symmetry)
-               basic_machine=i386-sequent
-               os=-dynix
-               ;;
-       t3e)
-               basic_machine=alphaev5-cray
-               os=-unicos
-               ;;
-       t90)
-               basic_machine=t90-cray
-               os=-unicos
-               ;;
-       tic54x | c54x*)
-               basic_machine=tic54x-unknown
-               os=-coff
-               ;;
-       tic55x | c55x*)
-               basic_machine=tic55x-unknown
-               os=-coff
-               ;;
-       tic6x | c6x*)
-               basic_machine=tic6x-unknown
-               os=-coff
-               ;;
-       tx39)
-               basic_machine=mipstx39-unknown
-               ;;
-       tx39el)
-               basic_machine=mipstx39el-unknown
-               ;;
-       toad1)
-               basic_machine=pdp10-xkl
-               os=-tops20
-               ;;
-       tower | tower-32)
-               basic_machine=m68k-ncr
-               ;;
-       tpf)
-               basic_machine=s390x-ibm
-               os=-tpf
-               ;;
-       udi29k)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       ultra3)
-               basic_machine=a29k-nyu
-               os=-sym1
-               ;;
-       v810 | necv810)
-               basic_machine=v810-nec
-               os=-none
-               ;;
-       vaxv)
-               basic_machine=vax-dec
-               os=-sysv
-               ;;
-       vms)
-               basic_machine=vax-dec
-               os=-vms
-               ;;
-       vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-       vxworks960)
-               basic_machine=i960-wrs
-               os=-vxworks
-               ;;
-       vxworks68)
-               basic_machine=m68k-wrs
-               os=-vxworks
-               ;;
-       vxworks29k)
-               basic_machine=a29k-wrs
-               os=-vxworks
-               ;;
-       w65*)
-               basic_machine=w65-wdc
-               os=-none
-               ;;
-       w89k-*)
-               basic_machine=hppa1.1-winbond
-               os=-proelf
-               ;;
-       xbox)
-               basic_machine=i686-pc
-               os=-mingw32
-               ;;
-       xps | xps100)
-               basic_machine=xps100-honeywell
-               ;;
-       ymp)
-               basic_machine=ymp-cray
-               os=-unicos
-               ;;
-       z8k-*-coff)
-               basic_machine=z8k-unknown
-               os=-sim
-               ;;
-       none)
-               basic_machine=none-none
-               os=-none
-               ;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-       w89k)
-               basic_machine=hppa1.1-winbond
-               ;;
-       op50n)
-               basic_machine=hppa1.1-oki
-               ;;
-       op60c)
-               basic_machine=hppa1.1-oki
-               ;;
-       romp)
-               basic_machine=romp-ibm
-               ;;
-       mmix)
-               basic_machine=mmix-knuth
-               ;;
-       rs6000)
-               basic_machine=rs6000-ibm
-               ;;
-       vax)
-               basic_machine=vax-dec
-               ;;
-       pdp10)
-               # there are many clones, so DEC is not a safe bet
-               basic_machine=pdp10-unknown
-               ;;
-       pdp11)
-               basic_machine=pdp11-dec
-               ;;
-       we32k)
-               basic_machine=we32k-att
-               ;;
-       sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
-               basic_machine=sh-unknown
-               ;;
-       sparc | sparcv8 | sparcv9 | sparcv9b)
-               basic_machine=sparc-sun
-               ;;
-       cydra)
-               basic_machine=cydra-cydrome
-               ;;
-       orion)
-               basic_machine=orion-highlevel
-               ;;
-       orion105)
-               basic_machine=clipper-highlevel
-               ;;
-       mac | mpw | mac-mpw)
-               basic_machine=m68k-apple
-               ;;
-       pmac | pmac-mpw)
-               basic_machine=powerpc-apple
-               ;;
-       *-unknown)
-               # Make sure to match an already-canonicalized machine name.
-               ;;
-       *)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-       *-digital*)
-               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-               ;;
-       *-commodore*)
-               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-               ;;
-       *)
-               ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-       # -solaris* is a basic system type, with this one exception.
-       -solaris1 | -solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
-               ;;
-       -solaris)
-               os=-solaris2
-               ;;
-       -svr4*)
-               os=-sysv4
-               ;;
-       -unixware*)
-               os=-sysv4.2uw
-               ;;
-       -gnu/linux*)
-               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-               ;;
-       # First accept the basic system types.
-       # The portable systems comes first.
-       # Each alternative MUST END IN A *, to match a version number.
-       # -sysv* is not here because it comes later, after sysvr4.
-       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-             | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* \
-             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
-             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* \
-             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku*)
-       # Remember, each alternative MUST END IN *, to match a version number.
-               ;;
-       -qnx*)
-               case $basic_machine in
-                   x86-* | i*86-*)
-                       ;;
-                   *)
-                       os=-nto$os
-                       ;;
-               esac
-               ;;
-       -nto-qnx*)
-               ;;
-       -nto*)
-               os=`echo $os | sed -e 's|nto|nto-qnx|'`
-               ;;
-       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-               ;;
-       -mac*)
-               os=`echo $os | sed -e 's|mac|macos|'`
-               ;;
-       -linux-dietlibc)
-               os=-linux-dietlibc
-               ;;
-       -linux*)
-               os=`echo $os | sed -e 's|linux|linux-gnu|'`
-               ;;
-       -sunos5*)
-               os=`echo $os | sed -e 's|sunos5|solaris2|'`
-               ;;
-       -sunos6*)
-               os=`echo $os | sed -e 's|sunos6|solaris3|'`
-               ;;
-       -opened*)
-               os=-openedition
-               ;;
-        -os400*)
-               os=-os400
-               ;;
-       -wince*)
-               os=-wince
-               ;;
-       -osfrose*)
-               os=-osfrose
-               ;;
-       -osf*)
-               os=-osf
-               ;;
-       -utek*)
-               os=-bsd
-               ;;
-       -dynix*)
-               os=-bsd
-               ;;
-       -acis*)
-               os=-aos
-               ;;
-       -atheos*)
-               os=-atheos
-               ;;
-       -syllable*)
-               os=-syllable
-               ;;
-       -386bsd)
-               os=-bsd
-               ;;
-       -ctix* | -uts*)
-               os=-sysv
-               ;;
-       -nova*)
-               os=-rtmk-nova
-               ;;
-       -ns2 )
-               os=-nextstep2
-               ;;
-       -nsk*)
-               os=-nsk
-               ;;
-       # Preserve the version number of sinix5.
-       -sinix5.*)
-               os=`echo $os | sed -e 's|sinix|sysv|'`
-               ;;
-       -sinix*)
-               os=-sysv4
-               ;;
-        -tpf*)
-               os=-tpf
-               ;;
-       -triton*)
-               os=-sysv3
-               ;;
-       -oss*)
-               os=-sysv3
-               ;;
-       -svr4)
-               os=-sysv4
-               ;;
-       -svr3)
-               os=-sysv3
-               ;;
-       -sysvr4)
-               os=-sysv4
-               ;;
-       # This must come after -sysvr4.
-       -sysv*)
-               ;;
-       -ose*)
-               os=-ose
-               ;;
-       -es1800*)
-               os=-ose
-               ;;
-       -xenix)
-               os=-xenix
-               ;;
-       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-               os=-mint
-               ;;
-       -aros*)
-               os=-aros
-               ;;
-       -kaos*)
-               os=-kaos
-               ;;
-       -zvmoe)
-               os=-zvmoe
-               ;;
-       -none)
-               ;;
-       *)
-               # Get rid of the `-' at the beginning of $os.
-               os=`echo $os | sed 's/[^-]*-//'`
-               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-       *-acorn)
-               os=-riscix1.2
-               ;;
-       arm*-rebel)
-               os=-linux
-               ;;
-       arm*-semi)
-               os=-aout
-               ;;
-    c4x-* | tic4x-*)
-        os=-coff
-        ;;
-       # This must come before the *-dec entry.
-       pdp10-*)
-               os=-tops20
-               ;;
-       pdp11-*)
-               os=-none
-               ;;
-       *-dec | vax-*)
-               os=-ultrix4.2
-               ;;
-       m68*-apollo)
-               os=-domain
-               ;;
-       i386-sun)
-               os=-sunos4.0.2
-               ;;
-       m68000-sun)
-               os=-sunos3
-               # This also exists in the configure program, but was not the
-               # default.
-               # os=-sunos4
-               ;;
-       m68*-cisco)
-               os=-aout
-               ;;
-       mips*-cisco)
-               os=-elf
-               ;;
-       mips*-*)
-               os=-elf
-               ;;
-       or32-*)
-               os=-coff
-               ;;
-       *-tti)  # must be before sparc entry or we get the wrong os.
-               os=-sysv3
-               ;;
-       sparc-* | *-sun)
-               os=-sunos4.1.1
-               ;;
-       *-be)
-               os=-beos
-               ;;
-       *-haiku)
-               os=-haiku
-               ;;
-       *-ibm)
-               os=-aix
-               ;;
-       *-knuth)
-               os=-mmixware
-               ;;
-       *-wec)
-               os=-proelf
-               ;;
-       *-winbond)
-               os=-proelf
-               ;;
-       *-oki)
-               os=-proelf
-               ;;
-       *-hp)
-               os=-hpux
-               ;;
-       *-hitachi)
-               os=-hiux
-               ;;
-       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-               os=-sysv
-               ;;
-       *-cbm)
-               os=-amigaos
-               ;;
-       *-dg)
-               os=-dgux
-               ;;
-       *-dolphin)
-               os=-sysv3
-               ;;
-       m68k-ccur)
-               os=-rtu
-               ;;
-       m88k-omron*)
-               os=-luna
-               ;;
-       *-next )
-               os=-nextstep
-               ;;
-       *-sequent)
-               os=-ptx
-               ;;
-       *-crds)
-               os=-unos
-               ;;
-       *-ns)
-               os=-genix
-               ;;
-       i370-*)
-               os=-mvs
-               ;;
-       *-next)
-               os=-nextstep3
-               ;;
-       *-gould)
-               os=-sysv
-               ;;
-       *-highlevel)
-               os=-bsd
-               ;;
-       *-encore)
-               os=-bsd
-               ;;
-       *-sgi)
-               os=-irix
-               ;;
-       *-siemens)
-               os=-sysv4
-               ;;
-       *-masscomp)
-               os=-rtu
-               ;;
-       f30[01]-fujitsu | f700-fujitsu)
-               os=-uxpv
-               ;;
-       *-rom68k)
-               os=-coff
-               ;;
-       *-*bug)
-               os=-coff
-               ;;
-       *-apple)
-               os=-macos
-               ;;
-       *-atari*)
-               os=-mint
-               ;;
-       *)
-               os=-none
-               ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-       *-unknown)
-               case $os in
-                       -riscix*)
-                               vendor=acorn
-                               ;;
-                       -sunos*)
-                               vendor=sun
-                               ;;
-                       -aix*)
-                               vendor=ibm
-                               ;;
-                       -beos*)
-                               vendor=be
-                               ;;
-                       -hpux*)
-                               vendor=hp
-                               ;;
-                       -mpeix*)
-                               vendor=hp
-                               ;;
-                       -hiux*)
-                               vendor=hitachi
-                               ;;
-                       -unos*)
-                               vendor=crds
-                               ;;
-                       -dgux*)
-                               vendor=dg
-                               ;;
-                       -luna*)
-                               vendor=omron
-                               ;;
-                       -genix*)
-                               vendor=ns
-                               ;;
-                       -mvs* | -opened*)
-                               vendor=ibm
-                               ;;
-                       -os400*)
-                               vendor=ibm
-                               ;;
-                       -ptx*)
-                               vendor=sequent
-                               ;;
-                       -tpf*)
-                               vendor=ibm
-                               ;;
-                       -vxsim* | -vxworks* | -windiss*)
-                               vendor=wrs
-                               ;;
-                       -aux*)
-                               vendor=apple
-                               ;;
-                       -hms*)
-                               vendor=hitachi
-                               ;;
-                       -mpw* | -macos*)
-                               vendor=apple
-                               ;;
-                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-                               vendor=atari
-                               ;;
-                       -vos*)
-                               vendor=stratus
-                               ;;
-               esac
-               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-               ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/source4/lib/replace/configure.ac b/source4/lib/replace/configure.ac
deleted file mode 100644 (file)
index 81997e0..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-AC_PREREQ(2.50)
-AC_INIT(replace.c)
-AC_CONFIG_SRCDIR([replace.c])
-AC_CONFIG_HEADER(config.h)
-
-CFLAGS="$CFLAGS -I$srcdir"
-
-AC_LIBREPLACE_ALL_CHECKS
-AC_LIBREPLACE_NETWORK_CHECKS
-
-if test "$ac_cv_prog_gcc" = yes; then
-   CFLAGS="$CFLAGS -Wall"
-   CFLAGS="$CFLAGS -W"
-   CFLAGS="$CFLAGS -Wshadow"
-   CFLAGS="$CFLAGS -Wstrict-prototypes"
-   CFLAGS="$CFLAGS -Wpointer-arith"
-   CFLAGS="$CFLAGS -Wcast-qual"
-   CFLAGS="$CFLAGS -Wcast-align"
-   CFLAGS="$CFLAGS -Wwrite-strings"
-   CFLAGS="$CFLAGS -Werror-implicit-function-declaration"
-   CFLAGS="$CFLAGS -Wformat=2"
-   CFLAGS="$CFLAGS -Wno-format-y2k"
-fi
-
-LIBS="${LIBREPLACE_NETWORK_LIBS}"
-AC_SUBST(LIBS)
-
-AC_SUBST(LDFLAGS)
-
-AC_OUTPUT(Makefile)
diff --git a/source4/lib/replace/dlfcn.c b/source4/lib/replace/dlfcn.c
deleted file mode 100644 (file)
index 3b109d7..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   Samba system utilities
-   Copyright (C) Andrew Tridgell 1992-1998
-   Copyright (C) Jeremy Allison 1998-2002
-
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "replace.h"
-#ifdef HAVE_DL_H
-#include <dl.h>
-#endif
-
-#ifndef HAVE_DLOPEN
-#ifdef DLOPEN_TAKES_UNSIGNED_FLAGS
-void *rep_dlopen(const char *name, unsigned int flags)
-#else
-void *rep_dlopen(const char *name, int flags)
-#endif
-{
-#ifdef HAVE_SHL_LOAD
-       if (name == NULL)
-               return PROG_HANDLE;
-       return (void *)shl_load(name, flags, 0);
-#else
-       return NULL;
-#endif
-}
-#endif
-
-#ifndef HAVE_DLSYM
-void *rep_dlsym(void *handle, const char *symbol)
-{
-#ifdef HAVE_SHL_FINDSYM
-       void *sym_addr;
-       if (!shl_findsym((shl_t *)&handle, symbol, TYPE_UNDEFINED, &sym_addr))
-               return sym_addr;
-#endif
-    return NULL;
-}
-#endif
-
-#ifndef HAVE_DLERROR
-char *rep_dlerror(void)
-{
-       return "dynamic loading of objects not supported on this platform";
-}
-#endif
-
-#ifndef HAVE_DLCLOSE
-int rep_dlclose(void *handle)
-{
-#ifdef HAVE_SHL_CLOSE
-       return shl_unload((shl_t)handle);
-#else
-       return 0;
-#endif
-}
-#endif
diff --git a/source4/lib/replace/dlfcn.m4 b/source4/lib/replace/dlfcn.m4
deleted file mode 100644 (file)
index 42f56f2..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-dnl dummies provided by dlfcn.c if not available
-save_LIBS="$LIBS"
-LIBS=""
-
-libreplace_cv_dlfcn=no
-AC_SEARCH_LIBS(dlopen, dl)
-
-AC_CHECK_HEADERS(dlfcn.h)
-AC_CHECK_FUNCS([dlopen dlsym dlerror dlclose],[],[libreplace_cv_dlfcn=yes])
-
-libreplace_cv_shl=no
-AC_SEARCH_LIBS(shl_load, sl)
-AC_CHECK_HEADERS(dl.h)
-AC_CHECK_FUNCS([shl_load shl_unload shl_findsym],[],[libreplace_cv_shl=yes])
-
-AC_VERIFY_C_PROTOTYPE([void *dlopen(const char* filename, unsigned int flags)],
-       [
-       return 0;
-       ],[
-       AC_DEFINE(DLOPEN_TAKES_UNSIGNED_FLAGS, 1, [Whether dlopen takes unsigned int flags])
-       ],[],[
-       #include <dlfcn.h>
-       ])
-
-if test x"${libreplace_cv_dlfcn}" = x"yes";then
-       LIBREPLACEOBJ="${LIBREPLACEOBJ} dlfcn.o"
-fi
-
-LIBDL="$LIBS"
-AC_SUBST(LIBDL)
-LIBS="$save_LIBS"
diff --git a/source4/lib/replace/getaddrinfo.c b/source4/lib/replace/getaddrinfo.c
deleted file mode 100644 (file)
index c5cd52b..0000000
+++ /dev/null
@@ -1,497 +0,0 @@
-/*
-PostgreSQL Database Management System
-(formerly known as Postgres, then as Postgres95)
-
-Portions Copyright (c) 1996-2005, The PostgreSQL Global Development Group
-
-Portions Copyright (c) 1994, The Regents of the University of California
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose, without fee, and without a written agreement
-is hereby granted, provided that the above copyright notice and this paragraph
-and the following two paragraphs appear in all copies.
-
-IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
-DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
-LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
-EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
-ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS
-TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-
-*/
-
-/*-------------------------------------------------------------------------
- *
- * getaddrinfo.c
- *       Support getaddrinfo() on platforms that don't have it.
- *
- * We also supply getnameinfo() here, assuming that the platform will have
- * it if and only if it has getaddrinfo().     If this proves false on some
- * platform, we'll need to split this file and provide a separate configure
- * test for getnameinfo().
- *
- * Copyright (c) 2003-2007, PostgreSQL Global Development Group
- *
- * Copyright (C) 2007 Jeremy Allison.
- * Modified to return multiple IPv4 addresses for Samba.
- *
- *-------------------------------------------------------------------------
- */
-
-#include "replace.h"
-#include "system/network.h"
-
-#ifndef SMB_MALLOC
-#define SMB_MALLOC(s) malloc(s)
-#endif
-
-#ifndef SMB_STRDUP
-#define SMB_STRDUP(s) strdup(s)
-#endif
-
-static int check_hostent_err(struct hostent *hp)
-{
-       if (!hp) {
-               switch (h_errno) {
-                       case HOST_NOT_FOUND:
-                       case NO_DATA:
-                               return EAI_NONAME;
-                       case TRY_AGAIN:
-                               return EAI_AGAIN;
-                       case NO_RECOVERY:
-                       default:
-                               return EAI_FAIL;
-               }
-       }
-       if (!hp->h_name || hp->h_addrtype != AF_INET) {
-               return EAI_FAIL;
-       }
-       return 0;
-}
-
-static char *canon_name_from_hostent(struct hostent *hp,
-                               int *perr)
-{
-       char *ret = NULL;
-
-       *perr = check_hostent_err(hp);
-       if (*perr) {
-               return NULL;
-       }
-       ret = SMB_STRDUP(hp->h_name);
-       if (!ret) {
-               *perr = EAI_MEMORY;
-       }
-       return ret;
-}
-
-static char *get_my_canon_name(int *perr)
-{
-       char name[HOST_NAME_MAX+1];
-
-       if (gethostname(name, HOST_NAME_MAX) == -1) {
-               *perr = EAI_FAIL;
-               return NULL;
-       }
-       /* Ensure null termination. */
-       name[HOST_NAME_MAX] = '\0';
-       return canon_name_from_hostent(gethostbyname(name), perr);
-}
-
-static char *get_canon_name_from_addr(struct in_addr ip,
-                               int *perr)
-{
-       return canon_name_from_hostent(
-                       gethostbyaddr(&ip, sizeof(ip), AF_INET),
-                       perr);
-}
-
-static struct addrinfo *alloc_entry(const struct addrinfo *hints,
-                               struct in_addr ip,
-                               unsigned short port)
-{
-       struct sockaddr_in *psin = NULL;
-       struct addrinfo *ai = SMB_MALLOC(sizeof(*ai));
-
-       if (!ai) {
-               return NULL;
-       }
-       memset(ai, '\0', sizeof(*ai));
-
-       psin = SMB_MALLOC(sizeof(*psin));
-       if (!psin) {
-               free(ai);
-               return NULL;
-       }
-
-       memset(psin, '\0', sizeof(*psin));
-
-       psin->sin_family = AF_INET;
-       psin->sin_port = htons(port);
-       psin->sin_addr = ip;
-
-       ai->ai_flags = 0;
-       ai->ai_family = AF_INET;
-       ai->ai_socktype = hints->ai_socktype;
-       ai->ai_protocol = hints->ai_protocol;
-       ai->ai_addrlen = sizeof(*psin);
-       ai->ai_addr = (struct sockaddr *) psin;
-       ai->ai_canonname = NULL;
-       ai->ai_next = NULL;
-
-       return ai;
-}
-
-/*
- * get address info for a single ipv4 address.
- *
- *     Bugs:   - servname can only be a number, not text.
- */
-
-static int getaddr_info_single_addr(const char *service,
-                               uint32_t addr,
-                               const struct addrinfo *hints,
-                               struct addrinfo **res)
-{
-
-       struct addrinfo *ai = NULL;
-       struct in_addr ip;
-       unsigned short port = 0;
-
-       if (service) {
-               port = (unsigned short)atoi(service);
-       }
-       ip.s_addr = htonl(addr);
-
-       ai = alloc_entry(hints, ip, port);
-       if (!ai) {
-               return EAI_MEMORY;
-       }
-
-       /* If we're asked for the canonical name,
-        * make sure it returns correctly. */
-       if (!(hints->ai_flags & AI_NUMERICSERV) &&
-                       hints->ai_flags & AI_CANONNAME) {
-               int err;
-               if (addr == INADDR_LOOPBACK || addr == INADDR_ANY) {
-                       ai->ai_canonname = get_my_canon_name(&err);
-               } else {
-                       ai->ai_canonname =
-                       get_canon_name_from_addr(ip,&err);
-               }
-               if (ai->ai_canonname == NULL) {
-                       freeaddrinfo(ai);
-                       return err;
-               }
-       }
-
-       *res = ai;
-       return 0;
-}
-
-/*
- * get address info for multiple ipv4 addresses.
- *
- *     Bugs:   - servname can only be a number, not text.
- */
-
-static int getaddr_info_name(const char *node,
-                               const char *service,
-                               const struct addrinfo *hints,
-                               struct addrinfo **res)
-{
-       struct addrinfo *listp = NULL, *prevp = NULL;
-       char **pptr = NULL;
-       int err;
-       struct hostent *hp = NULL;
-       unsigned short port = 0;
-
-       if (service) {
-               port = (unsigned short)atoi(service);
-       }
-
-       hp = gethostbyname(node);
-       err = check_hostent_err(hp);
-       if (err) {
-               return err;
-       }
-
-       for(pptr = hp->h_addr_list; *pptr; pptr++) {
-               struct in_addr ip = *(struct in_addr *)*pptr;
-               struct addrinfo *ai = alloc_entry(hints, ip, port);
-
-               if (!ai) {
-                       freeaddrinfo(listp);
-                       return EAI_MEMORY;
-               }
-
-               if (!listp) {
-                       listp = ai;
-                       prevp = ai;
-                       ai->ai_canonname = SMB_STRDUP(hp->h_name);
-                       if (!ai->ai_canonname) {
-                               freeaddrinfo(listp);
-                               return EAI_MEMORY;
-                       }
-               } else {
-                       prevp->ai_next = ai;
-                       prevp = ai;
-               }
-       }
-       *res = listp;
-       return 0;
-}
-
-/*
- * get address info for ipv4 sockets.
- *
- *     Bugs:   - servname can only be a number, not text.
- */
-
-int rep_getaddrinfo(const char *node,
-               const char *service,
-               const struct addrinfo * hintp,
-               struct addrinfo ** res)
-{
-       struct addrinfo hints;
-
-       /* Setup the hints struct. */
-       if (hintp == NULL) {
-               memset(&hints, 0, sizeof(hints));
-               hints.ai_family = AF_INET;
-               hints.ai_socktype = SOCK_STREAM;
-       } else {
-               memcpy(&hints, hintp, sizeof(hints));
-       }
-
-       if (hints.ai_family != AF_INET && hints.ai_family != AF_UNSPEC) {
-               return EAI_FAMILY;
-       }
-
-       if (hints.ai_socktype == 0) {
-               hints.ai_socktype = SOCK_STREAM;
-       }
-
-       if (!node && !service) {
-               return EAI_NONAME;
-       }
-
-       if (node) {
-               if (node[0] == '\0') {
-                       return getaddr_info_single_addr(service,
-                                       INADDR_ANY,
-                                       &hints,
-                                       res);
-               } else if (hints.ai_flags & AI_NUMERICHOST) {
-                       struct in_addr ip;
-                       if (!inet_aton(node, &ip)) {
-                               return EAI_FAIL;
-                       }
-                       return getaddr_info_single_addr(service,
-                                       ntohl(ip.s_addr),
-                                       &hints,
-                                       res);
-               } else {
-                       return getaddr_info_name(node,
-                                               service,
-                                               &hints,
-                                               res);
-               }
-       } else if (hints.ai_flags & AI_PASSIVE) {
-               return getaddr_info_single_addr(service,
-                                       INADDR_ANY,
-                                       &hints,
-                                       res);
-       }
-       return getaddr_info_single_addr(service,
-                                       INADDR_LOOPBACK,
-                                       &hints,
-                                       res);
-}
-
-
-void rep_freeaddrinfo(struct addrinfo *res)
-{
-       struct addrinfo *next = NULL;
-
-       for (;res; res = next) {
-               next = res->ai_next;
-               if (res->ai_canonname) {
-                       free(res->ai_canonname);
-               }
-               if (res->ai_addr) {
-                       free(res->ai_addr);
-               }
-               free(res);
-       }
-}
-
-
-const char *rep_gai_strerror(int errcode)
-{
-#ifdef HAVE_HSTRERROR
-       int                     hcode;
-
-       switch (errcode)
-       {
-               case EAI_NONAME:
-                       hcode = HOST_NOT_FOUND;
-                       break;
-               case EAI_AGAIN:
-                       hcode = TRY_AGAIN;
-                       break;
-               case EAI_FAIL:
-               default:
-                       hcode = NO_RECOVERY;
-                       break;
-       }
-
-       return hstrerror(hcode);
-#else                                                  /* !HAVE_HSTRERROR */
-
-       switch (errcode)
-       {
-               case EAI_NONAME:
-                       return "Unknown host";
-               case EAI_AGAIN:
-                       return "Host name lookup failure";
-#ifdef EAI_BADFLAGS
-               case EAI_BADFLAGS:
-                       return "Invalid argument";
-#endif
-#ifdef EAI_FAMILY
-               case EAI_FAMILY:
-                       return "Address family not supported";
-#endif
-#ifdef EAI_MEMORY
-               case EAI_MEMORY:
-                       return "Not enough memory";
-#endif
-#ifdef EAI_NODATA
-               case EAI_NODATA:
-                       return "No host data of that type was found";
-#endif
-#ifdef EAI_SERVICE
-               case EAI_SERVICE:
-                       return "Class type not found";
-#endif
-#ifdef EAI_SOCKTYPE
-               case EAI_SOCKTYPE:
-                       return "Socket type not supported";
-#endif
-               default:
-                       return "Unknown server error";
-       }
-#endif   /* HAVE_HSTRERROR */
-}
-
-static int gethostnameinfo(const struct sockaddr *sa,
-                       char *node,
-                       size_t nodelen,
-                       int flags)
-{
-       int ret = -1;
-       char *p = NULL;
-
-       if (!(flags & NI_NUMERICHOST)) {
-               struct hostent *hp = gethostbyaddr(
-                               &((struct sockaddr_in *)sa)->sin_addr,
-                               sizeof(struct in_addr),
-                               sa->sa_family);
-               ret = check_hostent_err(hp);
-               if (ret == 0) {
-                       /* Name looked up successfully. */
-                       ret = snprintf(node, nodelen, "%s", hp->h_name);
-                       if (ret < 0 || (size_t)ret >= nodelen) {
-                               return EAI_MEMORY;
-                       }
-                       if (flags & NI_NOFQDN) {
-                               p = strchr(node,'.');
-                               if (p) {
-                                       *p = '\0';
-                               }
-                       }
-                       return 0;
-               }
-
-               if (flags & NI_NAMEREQD) {
-                       /* If we require a name and didn't get one,
-                        * automatically fail. */
-                       return ret;
-               }
-               /* Otherwise just fall into the numeric host code... */
-       }
-       p = inet_ntoa(((struct sockaddr_in *)sa)->sin_addr);
-       ret = snprintf(node, nodelen, "%s", p);
-       if (ret < 0 || (size_t)ret >= nodelen) {
-               return EAI_MEMORY;
-       }
-       return 0;
-}
-
-static int getservicenameinfo(const struct sockaddr *sa,
-                       char *service,
-                       size_t servicelen,
-                       int flags)
-{
-       int ret = -1;
-       int port = ntohs(((struct sockaddr_in *)sa)->sin_port);
-
-       if (!(flags & NI_NUMERICSERV)) {
-               struct servent *se = getservbyport(
-                               port,
-                               (flags & NI_DGRAM) ? "udp" : "tcp");
-               if (se && se->s_name) {
-                       /* Service name looked up successfully. */
-                       ret = snprintf(service, servicelen, "%s", se->s_name);
-                       if (ret < 0 || (size_t)ret >= servicelen) {
-                               return EAI_MEMORY;
-                       }
-                       return 0;
-               }
-               /* Otherwise just fall into the numeric service code... */
-       }
-       ret = snprintf(service, servicelen, "%d", port);
-       if (ret < 0 || (size_t)ret >= servicelen) {
-               return EAI_MEMORY;
-       }
-       return 0;
-}
-
-/*
- * Convert an ipv4 address to a hostname.
- *
- * Bugs:       - No IPv6 support.
- */
-int rep_getnameinfo(const struct sockaddr *sa, socklen_t salen,
-                       char *node, size_t nodelen,
-                       char *service, size_t servicelen, int flags)
-{
-
-       /* Invalid arguments. */
-       if (sa == NULL || (node == NULL && service == NULL)) {
-               return EAI_FAIL;
-       }
-
-       if (sa->sa_family != AF_INET) {
-               return EAI_FAIL;
-       }
-
-       if (salen < sizeof(struct sockaddr_in)) {
-               return EAI_FAIL;
-       }
-
-       if (node) {
-               return gethostnameinfo(sa, node, nodelen, flags);
-       }
-
-       if (service) {
-               return getservicenameinfo(sa, service, servicelen, flags);
-       }
-       return 0;
-}
diff --git a/source4/lib/replace/getaddrinfo.h b/source4/lib/replace/getaddrinfo.h
deleted file mode 100644 (file)
index dddd699..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-PostgreSQL Database Management System
-(formerly known as Postgres, then as Postgres95)
-
-Portions Copyright (c) 1996-2005, The PostgreSQL Global Development Group
-
-Portions Copyright (c) 1994, The Regents of the University of California
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose, without fee, and without a written agreement
-is hereby granted, provided that the above copyright notice and this paragraph
-and the following two paragraphs appear in all copies.
-
-IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
-DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
-LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
-EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
-ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS
-TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-
-*/
-
-/*-------------------------------------------------------------------------
- *
- * getaddrinfo.h
- *       Support getaddrinfo() on platforms that don't have it.
- *
- * Note: we use our own routines on platforms that don't HAVE_STRUCT_ADDRINFO,
- * whether or not the library routine getaddrinfo() can be found.  This
- * policy is needed because on some platforms a manually installed libbind.a
- * may provide getaddrinfo(), yet the system headers may not provide the
- * struct definitions needed to call it.  To avoid conflict with the libbind
- * definition in such cases, we rename our routines to pg_xxx() via macros.
- *
-
-in lib/replace we use rep_xxx()
-
- * This code will also work on platforms where struct addrinfo is defined
- * in the system headers but no getaddrinfo() can be located.
- *
- * Copyright (c) 2003-2007, PostgreSQL Global Development Group
- *
- *-------------------------------------------------------------------------
- */
-#ifndef GETADDRINFO_H
-#define GETADDRINFO_H
-
-#ifndef HAVE_GETADDRINFO
-
-/* Rename private copies per comments above */
-#ifdef getaddrinfo
-#undef getaddrinfo
-#endif
-#define getaddrinfo rep_getaddrinfo
-#define HAVE_GETADDRINFO
-
-#ifdef freeaddrinfo
-#undef freeaddrinfo
-#endif
-#define freeaddrinfo rep_freeaddrinfo
-#define HAVE_FREEADDRINFO
-
-#ifdef gai_strerror
-#undef gai_strerror
-#endif
-#define gai_strerror rep_gai_strerror
-#define HAVE_GAI_STRERROR
-
-#ifdef getnameinfo
-#undef getnameinfo
-#endif
-#define getnameinfo rep_getnameinfo
-#define HAVE_GETNAMEINFO
-
-extern int rep_getaddrinfo(const char *node, const char *service,
-                       const struct addrinfo * hints, struct addrinfo ** res);
-extern void rep_freeaddrinfo(struct addrinfo * res);
-extern const char *rep_gai_strerror(int errcode);
-extern int rep_getnameinfo(const struct sockaddr * sa, socklen_t salen,
-                       char *node, size_t nodelen,
-                       char *service, size_t servicelen, int flags);
-#endif   /* HAVE_GETADDRINFO */
-
-#endif   /* GETADDRINFO_H */
diff --git a/source4/lib/replace/getifaddrs.c b/source4/lib/replace/getifaddrs.c
deleted file mode 100644 (file)
index f6f0ec0..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   Samba utility functions
-   Copyright (C) Andrew Tridgell 1998
-   Copyright (C) Jeremy Allison 2007
-   Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007
-   
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-   
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-   
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#define SOCKET_WRAPPER_NOT_REPLACE
-
-#include "replace.h"
-#include "system/network.h"
-
-#include <unistd.h>
-#include <stdio.h>
-#include <sys/types.h>
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#ifndef SIOCGIFCONF
-#ifdef HAVE_SYS_SOCKIO_H
-#include <sys/sockio.h>
-#endif
-#endif
-
-#ifdef HAVE_IFACE_GETIFADDRS
-#define _FOUND_IFACE_ANY
-#else
-
-void rep_freeifaddrs(struct ifaddrs *ifp)
-{
-       if (ifp != NULL) {
-               free(ifp->ifa_name);
-               free(ifp->ifa_addr);
-               free(ifp->ifa_netmask);
-               free(ifp->ifa_dstaddr);
-               freeifaddrs(ifp->ifa_next);
-               free(ifp);
-       }
-}
-
-static struct sockaddr *sockaddr_dup(struct sockaddr *sa)
-{
-       struct sockaddr *ret;
-       socklen_t socklen;
-#ifdef HAVE_SOCKADDR_SA_LEN
-       socklen = sa->sa_len;
-#else
-       socklen = sizeof(struct sockaddr_storage);
-#endif
-       ret = calloc(1, socklen);
-       if (ret == NULL)
-               return NULL;
-       memcpy(ret, sa, socklen);
-       return ret;
-}
-#endif
-
-#if HAVE_IFACE_IFCONF
-
-/* this works for Linux 2.2, Solaris 2.5, SunOS4, HPUX 10.20, OSF1
-   V4.0, Ultrix 4.4, SCO Unix 3.2, IRIX 6.4 and FreeBSD 3.2.
-
-   It probably also works on any BSD style system.  */
-
-int rep_getifaddrs(struct ifaddrs **ifap)
-{
-       struct ifconf ifc;
-       char buff[8192];
-       int fd, i, n;
-       struct ifreq *ifr=NULL;
-       struct in_addr ipaddr;
-       struct in_addr nmask;
-       char *iname;
-       struct ifaddrs *curif;
-       struct ifaddrs *lastif = NULL;
-
-       *ifap = NULL;
-
-       if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
-               return -1;
-       }
-  
-       ifc.ifc_len = sizeof(buff);
-       ifc.ifc_buf = buff;
-
-       if (ioctl(fd, SIOCGIFCONF, &ifc) != 0) {
-               close(fd);
-               return -1;
-       } 
-
-       ifr = ifc.ifc_req;
-  
-       n = ifc.ifc_len / sizeof(struct ifreq);
-
-       /* Loop through interfaces, looking for given IP address */
-       for (i=n-1; i>=0; i--) {
-               if (ioctl(fd, SIOCGIFFLAGS, &ifr[i]) == -1) {
-                       freeifaddrs(*ifap);
-                       return -1;
-               }
-
-               curif = calloc(1, sizeof(struct ifaddrs));
-               curif->ifa_name = strdup(ifr[i].ifr_name);
-               curif->ifa_flags = ifr[i].ifr_flags;
-               curif->ifa_dstaddr = NULL;
-               curif->ifa_data = NULL;
-               curif->ifa_next = NULL;
-
-               curif->ifa_addr = NULL;
-               if (ioctl(fd, SIOCGIFADDR, &ifr[i]) != -1) {
-                       curif->ifa_addr = sockaddr_dup(&ifr[i].ifr_addr);
-               }
-
-               curif->ifa_netmask = NULL;
-               if (ioctl(fd, SIOCGIFNETMASK, &ifr[i]) != -1) {
-                       curif->ifa_netmask = sockaddr_dup(&ifr[i].ifr_addr);
-               }
-
-               if (lastif == NULL) {
-                       *ifap = curif;
-               } else {
-                       lastif->ifa_next = curif;
-               }
-               lastif = curif;
-       }
-
-       close(fd);
-
-       return 0;
-}  
-
-#define _FOUND_IFACE_ANY
-#endif /* HAVE_IFACE_IFCONF */
-#ifdef HAVE_IFACE_IFREQ
-
-#ifndef I_STR
-#include <sys/stropts.h>
-#endif
-
-/****************************************************************************
-this should cover most of the streams based systems
-Thanks to Andrej.Borsenkow@mow.siemens.ru for several ideas in this code
-****************************************************************************/
-int rep_getifaddrs(struct ifaddrs **ifap)
-{
-       struct ifreq ifreq;
-       struct strioctl strioctl;
-       char buff[8192];
-       int fd, i, n;
-       struct ifreq *ifr=NULL;
-       struct in_addr ipaddr;
-       struct in_addr nmask;
-       char *iname;
-       struct ifaddrs *curif;
-       struct ifaddrs *lastif = NULL;
-
-       *ifap = NULL;
-
-       if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
-               return -1;
-       }
-  
-       strioctl.ic_cmd = SIOCGIFCONF;
-       strioctl.ic_dp  = buff;
-       strioctl.ic_len = sizeof(buff);
-       if (ioctl(fd, I_STR, &strioctl) < 0) {
-               close(fd);
-               return -1;
-       } 
-
-       /* we can ignore the possible sizeof(int) here as the resulting
-          number of interface structures won't change */
-       n = strioctl.ic_len / sizeof(struct ifreq);
-
-       /* we will assume that the kernel returns the length as an int
-           at the start of the buffer if the offered size is a
-           multiple of the structure size plus an int */
-       if (n*sizeof(struct ifreq) + sizeof(int) == strioctl.ic_len) {
-               ifr = (struct ifreq *)(buff + sizeof(int));  
-       } else {
-               ifr = (struct ifreq *)buff;  
-       }
-
-       /* Loop through interfaces */
-
-       for (i = 0; i<n; i++) {
-               ifreq = ifr[i];
-  
-               curif = calloc(1, sizeof(struct ifaddrs));
-               if (lastif == NULL) {
-                       *ifap = curif;
-               } else {
-                       lastif->ifa_next = curif;
-               }
-
-               strioctl.ic_cmd = SIOCGIFFLAGS;
-               strioctl.ic_dp  = (char *)&ifreq;
-               strioctl.ic_len = sizeof(struct ifreq);
-               if (ioctl(fd, I_STR, &strioctl) != 0) {
-                       freeifaddrs(*ifap);
-                       return -1;
-               }
-
-               curif->ifa_flags = ifreq.ifr_flags;
-               
-               strioctl.ic_cmd = SIOCGIFADDR;
-               strioctl.ic_dp  = (char *)&ifreq;
-               strioctl.ic_len = sizeof(struct ifreq);
-               if (ioctl(fd, I_STR, &strioctl) != 0) {
-                       freeifaddrs(*ifap);
-                       return -1;
-               }
-
-               curif->ifa_name = strdup(ifreq.ifr_name);
-               curif->ifa_addr = sockaddr_dup(&ifreq.ifr_addr);
-               curif->ifa_dstaddr = NULL;
-               curif->ifa_data = NULL;
-               curif->ifa_next = NULL;
-               curif->ifa_netmask = NULL;
-
-               strioctl.ic_cmd = SIOCGIFNETMASK;
-               strioctl.ic_dp  = (char *)&ifreq;
-               strioctl.ic_len = sizeof(struct ifreq);
-               if (ioctl(fd, I_STR, &strioctl) != 0) {
-                       freeifaddrs(*ifap);
-                       return -1;
-               }
-
-               curif->ifa_netmask = sockaddr_dup(&ifreq.ifr_addr);
-
-               lastif = curif;
-       }
-
-       close(fd);
-
-       return 0;
-}
-
-#define _FOUND_IFACE_ANY
-#endif /* HAVE_IFACE_IFREQ */
-#ifdef HAVE_IFACE_AIX
-
-/****************************************************************************
-this one is for AIX (tested on 4.2)
-****************************************************************************/
-int rep_getifaddrs(struct ifaddrs **ifap)
-{
-       char buff[8192];
-       int fd, i;
-       struct ifconf ifc;
-       struct ifreq *ifr=NULL;
-       struct in_addr ipaddr;
-       struct in_addr nmask;
-       char *iname;
-       struct ifaddrs *curif;
-       struct ifaddrs *lastif = NULL;
-
-       *ifap = NULL;
-
-       if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
-               return -1;
-       }
-
-       ifc.ifc_len = sizeof(buff);
-       ifc.ifc_buf = buff;
-
-       if (ioctl(fd, SIOCGIFCONF, &ifc) != 0) {
-               close(fd);
-               return -1;
-       }
-
-       ifr = ifc.ifc_req;
-
-       /* Loop through interfaces */
-       i = ifc.ifc_len;
-
-       while (i > 0) {
-               uint_t inc;
-
-               inc = ifr->ifr_addr.sa_len;
-
-               if (ioctl(fd, SIOCGIFADDR, ifr) != 0) {
-                       freeaddrinfo(*ifap);
-                       return -1;
-               }
-
-               curif = calloc(1, sizeof(struct ifaddrs));
-               if (lastif == NULL) {
-                       *ifap = curif;
-               } else {
-                       lastif->ifa_next = curif;
-               }
-
-               curif->ifa_name = strdup(ifr->ifr_name);
-               curif->ifa_addr = sockaddr_dup(&ifr->ifr_addr);
-               curif->ifa_dstaddr = NULL;
-               curif->ifa_data = NULL;
-               curif->ifa_netmask = NULL;
-               curif->ifa_next = NULL;
-
-               if (ioctl(fd, SIOCGIFFLAGS, ifr) != 0) {
-                       freeaddrinfo(*ifap);
-                       return -1;
-               }
-
-               curif->ifa_flags = ifr->ifr_flags;
-
-               if (ioctl(fd, SIOCGIFNETMASK, ifr) != 0) {
-                       freeaddrinfo(*ifap);
-                       return -1;
-               }
-
-               curif->ifa_netmask = sockaddr_dup(&ifr->ifr_addr);
-
-               lastif = curif;
-
-       next:
-               /*
-                * Patch from Archie Cobbs (archie@whistle.com).  The
-                * addresses in the SIOCGIFCONF interface list have a
-                * minimum size. Usually this doesn't matter, but if
-                * your machine has tunnel interfaces, etc. that have
-                * a zero length "link address", this does matter.  */
-
-               if (inc < sizeof(ifr->ifr_addr))
-                       inc = sizeof(ifr->ifr_addr);
-               inc += IFNAMSIZ;
-
-               ifr = (struct ifreq*) (((char*) ifr) + inc);
-               i -= inc;
-       }
-
-       close(fd);
-       return 0;
-}
-
-#define _FOUND_IFACE_ANY
-#endif /* HAVE_IFACE_AIX */
-#ifndef _FOUND_IFACE_ANY
-int rep_getifaddrs(struct ifaddrs **ifap)
-{
-       errno = ENOSYS;
-       return -1;
-}
-#endif
diff --git a/source4/lib/replace/getpass.c b/source4/lib/replace/getpass.c
deleted file mode 100644 (file)
index 0be618f..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-/* Copyright (C) 1992-1998 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public License as
-published by the Free Software Foundation; either version 3 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, see <http://www.gnu.org/licenses/>.  */
-
-/* Modified to use with samba by Jeremy Allison, 8th July 1995. */
-
-#include "replace.h"
-#include "system/filesys.h"
-#include "system/wait.h"
-#include "system/terminal.h"
-#include "system/passwd.h"
-
-/*
- * Define additional missing types
- */
-#ifndef HAVE_SIG_ATOMIC_T_TYPE
-typedef int sig_atomic_t;
-#endif
-
-#ifndef SIGCLD
-#define SIGCLD SIGCHLD
-#endif
-
-#ifndef SIGNAL_CAST
-#define SIGNAL_CAST (RETSIGTYPE (*)(int))
-#endif
-
-#ifdef SYSV_TERMIO 
-
-/* SYSTEM V TERMIO HANDLING */
-
-static struct termio t;
-
-#define ECHO_IS_ON(t) ((t).c_lflag & ECHO)
-#define TURN_ECHO_OFF(t) ((t).c_lflag &= ~ECHO)
-#define TURN_ECHO_ON(t) ((t).c_lflag |= ECHO)
-
-#ifndef TCSAFLUSH
-#define TCSAFLUSH 1
-#endif
-
-#ifndef TCSANOW
-#define TCSANOW 0
-#endif
-
-static int tcgetattr(int fd, struct termio *_t)
-{
-       return ioctl(fd, TCGETA, _t);
-}
-
-static int tcsetattr(int fd, int flags, struct termio *_t)
-{
-       if(flags & TCSAFLUSH)
-               ioctl(fd, TCFLSH, TCIOFLUSH);
-       return ioctl(fd, TCSETS, _t);
-}
-
-#elif !defined(TCSAFLUSH)
-
-/* BSD TERMIO HANDLING */
-
-static struct sgttyb t;  
-
-#define ECHO_IS_ON(t) ((t).sg_flags & ECHO)
-#define TURN_ECHO_OFF(t) ((t).sg_flags &= ~ECHO)
-#define TURN_ECHO_ON(t) ((t).sg_flags |= ECHO)
-
-#define TCSAFLUSH 1
-#define TCSANOW 0
-
-static int tcgetattr(int fd, struct sgttyb *_t)
-{
-       return ioctl(fd, TIOCGETP, (char *)_t);
-}
-
-static int tcsetattr(int fd, int flags, struct sgttyb *_t)
-{
-       return ioctl(fd, TIOCSETP, (char *)_t);
-}
-
-#else /* POSIX TERMIO HANDLING */
-#define ECHO_IS_ON(t) ((t).c_lflag & ECHO)
-#define TURN_ECHO_OFF(t) ((t).c_lflag &= ~ECHO)
-#define TURN_ECHO_ON(t) ((t).c_lflag |= ECHO)
-
-static struct termios t;
-#endif /* SYSV_TERMIO */
-
-static void catch_signal(int signum,void (*handler)(int ))
-{
-#ifdef HAVE_SIGACTION
-       struct sigaction act;
-       struct sigaction oldact;
-
-       memset(&act, 0, sizeof(act));
-
-       act.sa_handler = handler;
-#ifdef SA_RESTART
-       /*
-        * We *want* SIGALRM to interrupt a system call.
-        */
-       if(signum != SIGALRM)
-               act.sa_flags = SA_RESTART;
-#endif
-       sigemptyset(&act.sa_mask);
-       sigaddset(&act.sa_mask,signum);
-       sigaction(signum,&act,&oldact);
-#else /* !HAVE_SIGACTION */
-       /* FIXME: need to handle sigvec and systems with broken signal() */
-       signal(signum, handler);
-#endif
-}
-
-static sig_atomic_t gotintr;
-static int in_fd = -1;
-
-/***************************************************************
- Signal function to tell us were ^C'ed.
-****************************************************************/
-
-static void gotintr_sig(void)
-{
-       gotintr = 1;
-       if (in_fd != -1)
-               close(in_fd); /* Safe way to force a return. */
-       in_fd = -1;
-}
-
-char *rep_getpass(const char *prompt)
-{
-       FILE *in, *out;
-       int echo_off;
-       static char buf[256];
-       static size_t bufsize = sizeof(buf);
-       size_t nread;
-
-       /* Catch problematic signals */
-       catch_signal(SIGINT, SIGNAL_CAST gotintr_sig);
-
-       /* Try to write to and read from the terminal if we can.
-               If we can't open the terminal, use stderr and stdin.  */
-
-       in = fopen ("/dev/tty", "w+");
-       if (in == NULL) {
-               in = stdin;
-               out = stderr;
-       } else {
-               out = in;
-       }
-
-       setvbuf(in, NULL, _IONBF, 0);
-
-       /* Turn echoing off if it is on now.  */
-
-       if (tcgetattr (fileno (in), &t) == 0) {
-               if (ECHO_IS_ON(t)) {
-                       TURN_ECHO_OFF(t);
-                       echo_off = tcsetattr (fileno (in), TCSAFLUSH, &t) == 0;
-                       TURN_ECHO_ON(t);
-               } else {
-                       echo_off = 0;
-               }
-       } else {
-               echo_off = 0;
-       }
-
-       /* Write the prompt.  */
-       fputs(prompt, out);
-       fflush(out);
-
-       /* Read the password.  */
-       buf[0] = 0;
-       if (!gotintr) {
-               in_fd = fileno(in);
-               if (fgets(buf, bufsize, in) == NULL) {
-                       buf[0] = 0;
-               }
-       }
-       nread = strlen(buf);
-       if (nread) {
-               if (buf[nread - 1] == '\n')
-                       buf[nread - 1] = '\0';
-       }
-
-       /* Restore echoing.  */
-       if (echo_off) {
-               if (gotintr && in_fd == -1) {
-                       in = fopen ("/dev/tty", "w+");
-               }
-               if (in != NULL)
-                       tcsetattr (fileno (in), TCSANOW, &t);
-       }
-
-       fprintf(out, "\n");
-       fflush(out);
-
-       if (in && in != stdin) /* We opened the terminal; now close it.  */
-               fclose(in);
-
-       /* Catch problematic signals */
-       catch_signal(SIGINT, SIGNAL_CAST SIG_DFL);
-
-       if (gotintr) {
-               printf("Interupted by signal.\n");
-               fflush(stdout);
-               exit(1);
-       }
-       return buf;
-}
diff --git a/source4/lib/replace/getpass.m4 b/source4/lib/replace/getpass.m4
deleted file mode 100644 (file)
index b93817f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-AC_CHECK_FUNC(getpass, libreplace_cv_HAVE_GETPASS=yes)
-AC_CHECK_FUNC(getpassphrase, libreplace_cv_HAVE_GETPASSPHRASE=yes)
-if test x"$libreplace_cv_HAVE_GETPASS" = x"yes" -a x"$libreplace_cv_HAVE_GETPASSPHRASE" = x"yes"; then
-        AC_DEFINE(REPLACE_GETPASS_BY_GETPASSPHRASE, 1, [getpass returns <9 chars where getpassphrase returns <265 chars])
-       AC_DEFINE(REPLACE_GETPASS,1,[Whether getpass should be replaced])
-       LIBREPLACEOBJ="${LIBREPLACEOBJ} getpass.o"
-else
-
-AC_CACHE_CHECK([whether getpass should be replaced],libreplace_cv_REPLACE_GETPASS,[
-SAVE_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS -I$libreplacedir/"
-AC_TRY_COMPILE([
-#include "confdefs.h"
-#define NO_CONFIG_H
-#include "$libreplacedir/getpass.c"
-],[],libreplace_cv_REPLACE_GETPASS=yes,libreplace_cv_REPLACE_GETPASS=no)
-CPPFLAGS="$SAVE_CPPFLAGS"
-])
-if test x"$libreplace_cv_REPLACE_GETPASS" = x"yes"; then
-       AC_DEFINE(REPLACE_GETPASS,1,[Whether getpass should be replaced])
-       LIBREPLACEOBJ="${LIBREPLACEOBJ} getpass.o"
-fi
-
-fi
diff --git a/source4/lib/replace/inet_aton.c b/source4/lib/replace/inet_aton.c
deleted file mode 100644 (file)
index c6b3bb1..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Unix SMB/CIFS implementation.
- * replacement functions
- * Copyright (C) Michael Adam <obnox@samba.org> 2008
- *
- *  ** NOTE! The following LGPL license applies to the replace
- *  ** library. This does NOT imply that all of Samba is released
- *  ** under the LGPL
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "replace.h"
-#include "system/network.h"
-
-/**
- * We know that we have inet_pton from earlier libreplace checks.
- */
-int rep_inet_aton(const char *src, struct in_addr *dst)
-{
-       return (inet_pton(AF_INET, src, dst) > 0) ? 1 : 0;
-}
diff --git a/source4/lib/replace/inet_ntoa.c b/source4/lib/replace/inet_ntoa.c
deleted file mode 100644 (file)
index e3b80eb..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Unix SMB/CIFS implementation.
- * replacement routines for broken systems
- * Copyright (C) Andrew Tridgell 2003
- * Copyright (C) Michael Adam 2008
- *
- *  ** NOTE! The following LGPL license applies to the replace
- *  ** library. This does NOT imply that all of Samba is released
- *  ** under the LGPL
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "replace.h"
-#include "system/network.h"
-
-/**
- * NOTE: this is not thread safe, but it can't be, either
- * since it returns a pointer to static memory.
- */
-char *rep_inet_ntoa(struct in_addr ip)
-{
-       uint8_t *p = (uint8_t *)&ip.s_addr;
-       static char buf[18];
-       slprintf(buf, 17, "%d.%d.%d.%d",
-                (int)p[0], (int)p[1], (int)p[2], (int)p[3]);
-       return buf;
-}
diff --git a/source4/lib/replace/inet_ntop.c b/source4/lib/replace/inet_ntop.c
deleted file mode 100644 (file)
index fb3d8e9..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright (C) 1996-2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-
-#include "replace.h"
-#include "system/network.h"
-
-#define NS_INT16SZ      2
-#define NS_IN6ADDRSZ   16
-
-/*
- * WARNING: Don't even consider trying to compile this on a system where
- * sizeof(int) < 4.  sizeof(int) > 4 is fine; all the world's not a VAX.
- */
-
-static const char *inet_ntop4(const unsigned char *src, char *dst,
-                             socklen_t size);
-
-#ifdef AF_INET6
-static const char *inet_ntop6(const unsigned char *src, char *dst,
-                             socklen_t size);
-#endif
-
-/* char *
- * isc_net_ntop(af, src, dst, size)
- *     convert a network format address to presentation format.
- * return:
- *     pointer to presentation format address (`dst'), or NULL (see errno).
- * author:
- *     Paul Vixie, 1996.
- */
-const char *
-rep_inet_ntop(int af, const void *src, char *dst, socklen_t size)
-{
-       switch (af) {
-       case AF_INET:
-               return (inet_ntop4(src, dst, size));
-#ifdef AF_INET6
-       case AF_INET6:
-               return (inet_ntop6(src, dst, size));
-#endif
-       default:
-               errno = EAFNOSUPPORT;
-               return (NULL);
-       }
-       /* NOTREACHED */
-}
-
-/* const char *
- * inet_ntop4(src, dst, size)
- *     format an IPv4 address
- * return:
- *     `dst' (as a const)
- * notes:
- *     (1) uses no statics
- *     (2) takes a unsigned char* not an in_addr as input
- * author:
- *     Paul Vixie, 1996.
- */
-static const char *
-inet_ntop4(const unsigned char *src, char *dst, socklen_t size)
-{
-       static const char *fmt = "%u.%u.%u.%u";
-       char tmp[sizeof "255.255.255.255"];
-       size_t len;
-
-       len = snprintf(tmp, sizeof tmp, fmt, src[0], src[1], src[2], src[3]);
-       if (len >= size) {
-               errno = ENOSPC;
-               return (NULL);
-       }
-       memcpy(dst, tmp, len + 1);
-
-       return (dst);
-}
-
-/* const char *
- * isc_inet_ntop6(src, dst, size)
- *     convert IPv6 binary address into presentation (printable) format
- * author:
- *     Paul Vixie, 1996.
- */
-#ifdef AF_INET6
-static const char *
-inet_ntop6(const unsigned char *src, char *dst, socklen_t size)
-{
-       /*
-        * Note that int32_t and int16_t need only be "at least" large enough
-        * to contain a value of the specified size.  On some systems, like
-        * Crays, there is no such thing as an integer variable with 16 bits.
-        * Keep this in mind if you think this function should have been coded
-        * to use pointer overlays.  All the world's not a VAX.
-        */
-       char tmp[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"], *tp;
-       struct { int base, len; } best, cur;
-       unsigned int words[NS_IN6ADDRSZ / NS_INT16SZ];
-       int i, inc;
-
-       /*
-        * Preprocess:
-        *      Copy the input (bytewise) array into a wordwise array.
-        *      Find the longest run of 0x00's in src[] for :: shorthanding.
-        */
-       memset(words, '\0', sizeof words);
-       for (i = 0; i < NS_IN6ADDRSZ; i++)
-               words[i / 2] |= (src[i] << ((1 - (i % 2)) << 3));
-       best.base = -1;
-       best.len = 0;
-       cur.base = -1;
-       cur.len = 0;
-       for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) {
-               if (words[i] == 0) {
-                       if (cur.base == -1)
-                               cur.base = i, cur.len = 1;
-                       else
-                               cur.len++;
-               } else {
-                       if (cur.base != -1) {
-                               if (best.base == -1 || cur.len > best.len)
-                                       best = cur;
-                               cur.base = -1;
-                       }
-               }
-       }
-       if (cur.base != -1) {
-               if (best.base == -1 || cur.len > best.len)
-                       best = cur;
-       }
-       if (best.base != -1 && best.len < 2)
-               best.base = -1;
-
-       /*
-        * Format the result.
-        */
-       tp = tmp;
-       for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) {
-               /* Are we inside the best run of 0x00's? */
-               if (best.base != -1 && i >= best.base &&
-                   i < (best.base + best.len)) {
-                       if (i == best.base)
-                               *tp++ = ':';
-                       continue;
-               }
-               /* Are we following an initial run of 0x00s or any real hex? */
-               if (i != 0)
-                       *tp++ = ':';
-               /* Is this address an encapsulated IPv4? */
-               if (i == 6 && best.base == 0 &&
-                   (best.len == 6 || (best.len == 5 && words[5] == 0xffff))) {
-                       if (!inet_ntop4(src+12, tp, sizeof tmp - (tp - tmp)))
-                               return (NULL);
-                       tp += strlen(tp);
-                       break;
-               }
-               inc = snprintf(tp, 5, "%x", words[i]);
-               if (inc >= 5) {
-                       abort();
-               }
-               tp += inc;
-       }
-       /* Was it a trailing run of 0x00's? */
-       if (best.base != -1 && (best.base + best.len) ==
-           (NS_IN6ADDRSZ / NS_INT16SZ))
-               *tp++ = ':';
-       *tp++ = '\0';
-
-       /*
-        * Check for overflow, copy, and we're done.
-        */
-       if ((size_t)(tp - tmp) > size) {
-               errno = ENOSPC;
-               return (NULL);
-       }
-       memcpy(dst, tmp, tp - tmp);
-       return (dst);
-}
-#endif /* AF_INET6 */
diff --git a/source4/lib/replace/inet_pton.c b/source4/lib/replace/inet_pton.c
deleted file mode 100644 (file)
index 80e4865..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Copyright (C) 1996-2001  Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
- * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
- * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
- * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
- * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
- * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include "replace.h"
-#include "system/network.h"
-
-#define NS_INT16SZ      2
-#define NS_INADDRSZ     4
-#define NS_IN6ADDRSZ   16
-
-/*
- * WARNING: Don't even consider trying to compile this on a system where
- * sizeof(int) < 4.  sizeof(int) > 4 is fine; all the world's not a VAX.
- */
-
-static int inet_pton4(const char *src, unsigned char *dst);
-#ifdef AF_INET6
-static int inet_pton6(const char *src, unsigned char *dst);
-#endif
-
-/* int
- * inet_pton(af, src, dst)
- *     convert from presentation format (which usually means ASCII printable)
- *     to network format (which is usually some kind of binary format).
- * return:
- *     1 if the address was valid for the specified address family
- *     0 if the address wasn't valid (`dst' is untouched in this case)
- *     -1 if some other error occurred (`dst' is untouched in this case, too)
- * author:
- *     Paul Vixie, 1996.
- */
-int
-rep_inet_pton(int af,
-         const char *src,
-         void *dst)
-{
-       switch (af) {
-       case AF_INET:
-               return (inet_pton4(src, dst));
-#ifdef AF_INET6
-       case AF_INET6:
-               return (inet_pton6(src, dst));
-#endif
-       default:
-               errno = EAFNOSUPPORT;
-               return (-1);
-       }
-       /* NOTREACHED */
-}
-
-/* int
- * inet_pton4(src, dst)
- *     like inet_aton() but without all the hexadecimal and shorthand.
- * return:
- *     1 if `src' is a valid dotted quad, else 0.
- * notice:
- *     does not touch `dst' unless it's returning 1.
- * author:
- *     Paul Vixie, 1996.
- */
-static int
-inet_pton4(src, dst)
-       const char *src;
-       unsigned char *dst;
-{
-       static const char digits[] = "0123456789";
-       int saw_digit, octets, ch;
-       unsigned char tmp[NS_INADDRSZ], *tp;
-
-       saw_digit = 0;
-       octets = 0;
-       *(tp = tmp) = 0;
-       while ((ch = *src++) != '\0') {
-               const char *pch;
-
-               if ((pch = strchr(digits, ch)) != NULL) {
-                       unsigned int new = *tp * 10 + (pch - digits);
-
-                       if (new > 255)
-                               return (0);
-                       *tp = new;
-                       if (! saw_digit) {
-                               if (++octets > 4)
-                                       return (0);
-                               saw_digit = 1;
-                       }
-               } else if (ch == '.' && saw_digit) {
-                       if (octets == 4)
-                               return (0);
-                       *++tp = 0;
-                       saw_digit = 0;
-               } else
-                       return (0);
-       }
-       if (octets < 4)
-               return (0);
-       memcpy(dst, tmp, NS_INADDRSZ);
-       return (1);
-}
-
-/* int
- * inet_pton6(src, dst)
- *     convert presentation level address to network order binary form.
- * return:
- *     1 if `src' is a valid [RFC1884 2.2] address, else 0.
- * notice:
- *     (1) does not touch `dst' unless it's returning 1.
- *     (2) :: in a full address is silently ignored.
- * credit:
- *     inspired by Mark Andrews.
- * author:
- *     Paul Vixie, 1996.
- */
-#ifdef AF_INET6
-static int
-inet_pton6(src, dst)
-       const char *src;
-       unsigned char *dst;
-{
-       static const char xdigits_l[] = "0123456789abcdef",
-                         xdigits_u[] = "0123456789ABCDEF";
-       unsigned char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp;
-       const char *xdigits, *curtok;
-       int ch, saw_xdigit;
-       unsigned int val;
-
-       memset((tp = tmp), '\0', NS_IN6ADDRSZ);
-       endp = tp + NS_IN6ADDRSZ;
-       colonp = NULL;
-       /* Leading :: requires some special handling. */
-       if (*src == ':')
-               if (*++src != ':')
-                       return (0);
-       curtok = src;
-       saw_xdigit = 0;
-       val = 0;
-       while ((ch = *src++) != '\0') {
-               const char *pch;
-
-               if ((pch = strchr((xdigits = xdigits_l), ch)) == NULL)
-                       pch = strchr((xdigits = xdigits_u), ch);
-               if (pch != NULL) {
-                       val <<= 4;
-                       val |= (pch - xdigits);
-                       if (val > 0xffff)
-                               return (0);
-                       saw_xdigit = 1;
-                       continue;
-               }
-               if (ch == ':') {
-                       curtok = src;
-                       if (!saw_xdigit) {
-                               if (colonp)
-                                       return (0);
-                               colonp = tp;
-                               continue;
-                       }
-                       if (tp + NS_INT16SZ > endp)
-                               return (0);
-                       *tp++ = (unsigned char) (val >> 8) & 0xff;
-                       *tp++ = (unsigned char) val & 0xff;
-                       saw_xdigit = 0;
-                       val = 0;
-                       continue;
-               }
-               if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) &&
-                   inet_pton4(curtok, tp) > 0) {
-                       tp += NS_INADDRSZ;
-                       saw_xdigit = 0;
-                       break;  /* '\0' was seen by inet_pton4(). */
-               }
-               return (0);
-       }
-       if (saw_xdigit) {
-               if (tp + NS_INT16SZ > endp)
-                       return (0);
-               *tp++ = (unsigned char) (val >> 8) & 0xff;
-               *tp++ = (unsigned char) val & 0xff;
-       }
-       if (colonp != NULL) {
-               /*
-                * Since some memmove()'s erroneously fail to handle
-                * overlapping regions, we'll do the shift by hand.
-                */
-               const int n = tp - colonp;
-               int i;
-
-               for (i = 1; i <= n; i++) {
-                       endp[- i] = colonp[n - i];
-                       colonp[n - i] = 0;
-               }
-               tp = endp;
-       }
-       if (tp != endp)
-               return (0);
-       memcpy(dst, tmp, NS_IN6ADDRSZ);
-       return (1);
-}
-#endif
diff --git a/source4/lib/replace/install-sh b/source4/lib/replace/install-sh
deleted file mode 100755 (executable)
index 5871924..0000000
+++ /dev/null
@@ -1,238 +0,0 @@
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-#
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-transformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
-    case $1 in
-       -c) instcmd="$cpprog"
-           shift
-           continue;;
-
-       -d) dir_arg=true
-           shift
-           continue;;
-
-       -m) chmodcmd="$chmodprog $2"
-           shift
-           shift
-           continue;;
-
-       -o) chowncmd="$chownprog $2"
-           shift
-           shift
-           continue;;
-
-       -g) chgrpcmd="$chgrpprog $2"
-           shift
-           shift
-           continue;;
-
-       -s) stripcmd="$stripprog"
-           shift
-           continue;;
-
-       -t=*) transformarg=`echo $1 | sed 's/-t=//'`
-           shift
-           continue;;
-
-       -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-           shift
-           continue;;
-
-       *)  if [ x"$src" = x ]
-           then
-               src=$1
-           else
-               # this colon is to work around a 386BSD /bin/sh bug
-               :
-               dst=$1
-           fi
-           shift
-           continue;;
-    esac
-done
-
-if [ x"$src" = x ]
-then
-       echo "install:  no input file specified"
-       exit 1
-else
-       true
-fi
-
-if [ x"$dir_arg" != x ]; then
-       dst=$src
-       src=""
-       
-       if [ -d $dst ]; then
-               instcmd=:
-       else
-               instcmd=mkdir
-       fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad 
-# if $src (and thus $dsttmp) contains '*'.
-
-       if [ -f $src -o -d $src ]
-       then
-               true
-       else
-               echo "install:  $src does not exist"
-               exit 1
-       fi
-       
-       if [ x"$dst" = x ]
-       then
-               echo "install:  no destination specified"
-               exit 1
-       else
-               true
-       fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
-       if [ -d $dst ]
-       then
-               dst="$dst"/`basename $src`
-       else
-               true
-       fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-#  this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='   
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
-       pathcomp="${pathcomp}${1}"
-       shift
-
-       if [ ! -d "${pathcomp}" ] ;
-        then
-               $mkdirprog "${pathcomp}"
-       else
-               true
-       fi
-
-       pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
-       $doit $instcmd $dst &&
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
-       if [ x"$transformarg" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               dstfile=`basename $dst $transformbasename | 
-                       sed $transformarg`$transformbasename
-       fi
-
-# don't allow the sed command to completely eliminate the filename
-
-       if [ x"$dstfile" = x ] 
-       then
-               dstfile=`basename $dst`
-       else
-               true
-       fi
-
-# Make a temp file name in the proper directory.
-
-       dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
-       $doit $instcmd $src $dsttmp &&
-
-       trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing.  If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
-       if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
-       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
-       if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
-       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
-       $doit $rmcmd -f $dstdir/$dstfile &&
-       $doit $mvcmd $dsttmp $dstdir/$dstfile 
-
-fi &&
-
-
-exit 0
diff --git a/source4/lib/replace/libreplace.m4 b/source4/lib/replace/libreplace.m4
deleted file mode 100644 (file)
index 71fa041..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-AC_DEFUN_ONCE(AC_LIBREPLACE_LOCATION_CHECKS,
-[
-echo "LIBREPLACE_LOCATION_CHECKS: START"
-
-dnl find the libreplace sources. This is meant to work both for 
-dnl libreplace standalone builds, and builds of packages using libreplace
-libreplacedir=""
-libreplacepaths="$srcdir $srcdir/lib/replace $srcdir/libreplace $srcdir/../libreplace $srcdir/../replace"
-for d in $libreplacepaths; do
-       if test -f "$d/replace.c"; then
-               libreplacedir="$d"              
-               AC_SUBST(libreplacedir)
-               break;
-       fi
-done
-if test x"$libreplacedir" = "x"; then
-       AC_MSG_ERROR([cannot find libreplace in $libreplacepaths])
-fi
-LIBREPLACEOBJ="replace.o"
-AC_SUBST(LIBREPLACEOBJ)
-
-AC_CANONICAL_BUILD
-AC_CANONICAL_HOST
-AC_CANONICAL_TARGET
-
-echo "LIBREPLACE_LOCATION_CHECKS: END"
-]) dnl end AC_LIBREPLACE_LOCATION_CHECKS
-
-
-AC_DEFUN_ONCE(AC_LIBREPLACE_BROKEN_CHECKS,
-[
-echo "LIBREPLACE_BROKEN_CHECKS: START"
-
-dnl find the libreplace sources. This is meant to work both for 
-dnl libreplace standalone builds, and builds of packages using libreplace
-libreplacedir=""
-for d in "$srcdir" "$srcdir/lib/replace" "$srcdir/libreplace" "$srcdir/../libreplace" "$srcdir/../replace"; do
-       if test -f "$d/replace.c"; then
-               libreplacedir="$d"              
-               AC_SUBST(libreplacedir)
-               break;
-       fi
-done
-LIBREPLACEOBJ="replace.o"
-AC_SUBST(LIBREPLACEOBJ)
-
-LIBREPLACEOBJ="${LIBREPLACEOBJ} snprintf.o"
-
-AC_TYPE_SIGNAL
-AC_TYPE_UID_T
-AC_TYPE_MODE_T
-AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
-AC_TYPE_PID_T
-AC_STRUCT_ST_RDEV
-AC_CHECK_TYPE(ino_t,unsigned)
-AC_CHECK_TYPE(loff_t,off_t)
-AC_CHECK_TYPE(offset_t,loff_t)
-
-AC_FUNC_MEMCMP
-
-AC_CHECK_FUNCS(pipe strftime srandom random srand rand usleep setbuffer lstat getpgrp)
-
-AC_CHECK_HEADERS(stdbool.h stdint.h sys/select.h)
-AC_CHECK_HEADERS(setjmp.h)
-
-LIBREPLACE_PROVIDE_HEADER([stdint.h])
-LIBREPLACE_PROVIDE_HEADER([stdbool.h])
-
-AC_CHECK_TYPE(bool, 
-[AC_DEFINE(HAVE_BOOL, 1, [Whether the bool type is available])],,
-[
-AC_INCLUDES_DEFAULT
-#ifdef HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif]
-)
-
-AC_CHECK_TYPE(_Bool, 
-[AC_DEFINE(HAVE__Bool, 1, [Whether the _Bool type is available])],,
-[
-AC_INCLUDES_DEFAULT
-#ifdef HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif]
-)
-
-AC_CACHE_CHECK([for working mmap],libreplace_cv_HAVE_MMAP,[
-AC_TRY_RUN([#include "$libreplacedir/test/shared_mmap.c"],
-           libreplace_cv_HAVE_MMAP=yes,libreplace_cv_HAVE_MMAP=no,libreplace_cv_HAVE_MMAP=cross)])
-if test x"$libreplace_cv_HAVE_MMAP" = x"yes"; then
-    AC_DEFINE(HAVE_MMAP,1,[Whether mmap works])
-fi
-
-
-AC_CHECK_HEADERS(sys/syslog.h syslog.h)
-AC_CHECK_HEADERS(sys/time.h time.h)
-AC_CHECK_HEADERS(stdarg.h vararg.h)
-AC_CHECK_HEADERS(sys/mount.h mntent.h)
-AC_CHECK_HEADERS(stropts.h)
-
-AC_CHECK_FUNCS(seteuid setresuid setegid setresgid chroot bzero strerror)
-AC_CHECK_FUNCS(vsyslog setlinebuf mktime ftruncate chsize rename)
-AC_CHECK_FUNCS(waitpid strlcpy strlcat initgroups memmove strdup)
-AC_CHECK_FUNCS(pread pwrite strndup strcasestr strtok_r mkdtemp)
-AC_CHECK_FUNCS(isatty)
-AC_HAVE_DECL(setresuid, [#include <unistd.h>])
-AC_HAVE_DECL(setresgid, [#include <unistd.h>])
-AC_HAVE_DECL(errno, [#include <errno.h>])
-
-AC_CACHE_CHECK([for secure mkstemp],libreplace_cv_HAVE_SECURE_MKSTEMP,[
-AC_TRY_RUN([#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-main() { 
-  struct stat st;
-  char tpl[20]="/tmp/test.XXXXXX"; 
-  int fd = mkstemp(tpl); 
-  if (fd == -1) exit(1);
-  unlink(tpl);
-  if (fstat(fd, &st) != 0) exit(1);
-  if ((st.st_mode & 0777) != 0600) exit(1);
-  exit(0);
-}],
-libreplace_cv_HAVE_SECURE_MKSTEMP=yes,
-libreplace_cv_HAVE_SECURE_MKSTEMP=no,
-libreplace_cv_HAVE_SECURE_MKSTEMP=cross)])
-if test x"$libreplace_cv_HAVE_SECURE_MKSTEMP" = x"yes"; then
-    AC_DEFINE(HAVE_SECURE_MKSTEMP,1,[Whether mkstemp is secure])
-fi
-
-dnl Provided by snprintf.c:
-AC_CHECK_HEADERS(stdio.h strings.h)
-AC_CHECK_DECLS([snprintf, vsnprintf, asprintf, vasprintf])
-AC_CHECK_FUNCS(snprintf vsnprintf asprintf vasprintf)
-
-AC_CACHE_CHECK([for C99 vsnprintf],libreplace_cv_HAVE_C99_VSNPRINTF,[
-AC_TRY_RUN([
-#include <sys/types.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-void foo(const char *format, ...) { 
-       va_list ap;
-       int len;
-       char buf[20];
-       long long l = 1234567890;
-       l *= 100;
-
-       va_start(ap, format);
-       len = vsnprintf(buf, 0, format, ap);
-       va_end(ap);
-       if (len != 5) exit(1);
-
-       va_start(ap, format);
-       len = vsnprintf(0, 0, format, ap);
-       va_end(ap);
-       if (len != 5) exit(2);
-
-       if (snprintf(buf, 3, "hello") != 5 || strcmp(buf, "he") != 0) exit(3);
-
-       if (snprintf(buf, 20, "%lld", l) != 12 || strcmp(buf, "123456789000") != 0) exit(4);
-       if (snprintf(buf, 20, "%zu", 123456789) != 9 || strcmp(buf, "123456789") != 0) exit(5);
-       if (snprintf(buf, 20, "%2\$d %1\$d", 3, 4) != 3 || strcmp(buf, "4 3") != 0) exit(6);
-       if (snprintf(buf, 20, "%s", 0) < 3) exit(7);
-
-       exit(0);
-}
-main() { foo("hello"); }
-],
-libreplace_cv_HAVE_C99_VSNPRINTF=yes,libreplace_cv_HAVE_C99_VSNPRINTF=no,libreplace_cv_HAVE_C99_VSNPRINTF=cross)])
-if test x"$libreplace_cv_HAVE_C99_VSNPRINTF" = x"yes"; then
-    AC_DEFINE(HAVE_C99_VSNPRINTF,1,[Whether there is a C99 compliant vsnprintf])
-fi
-
-
-dnl VA_COPY
-AC_CACHE_CHECK([for va_copy],libreplace_cv_HAVE_VA_COPY,[
-AC_TRY_LINK([#include <stdarg.h>
-va_list ap1,ap2;], [va_copy(ap1,ap2);],
-libreplace_cv_HAVE_VA_COPY=yes,libreplace_cv_HAVE_VA_COPY=no)])
-if test x"$libreplace_cv_HAVE_VA_COPY" = x"yes"; then
-    AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available])
-fi
-
-if test x"$libreplace_cv_HAVE_VA_COPY" != x"yes"; then
-AC_CACHE_CHECK([for __va_copy],libreplace_cv_HAVE___VA_COPY,[
-AC_TRY_LINK([#include <stdarg.h>
-va_list ap1,ap2;], [__va_copy(ap1,ap2);],
-libreplace_cv_HAVE___VA_COPY=yes,libreplace_cv_HAVE___VA_COPY=no)])
-if test x"$libreplace_cv_HAVE___VA_COPY" = x"yes"; then
-    AC_DEFINE(HAVE___VA_COPY,1,[Whether __va_copy() is available])
-fi
-fi
-
-dnl __FUNCTION__ macro
-AC_CACHE_CHECK([for __FUNCTION__ macro],libreplace_cv_HAVE_FUNCTION_MACRO,[
-AC_TRY_COMPILE([#include <stdio.h>], [printf("%s\n", __FUNCTION__);],
-libreplace_cv_HAVE_FUNCTION_MACRO=yes,libreplace_cv_HAVE_FUNCTION_MACRO=no)])
-if test x"$libreplace_cv_HAVE_FUNCTION_MACRO" = x"yes"; then
-    AC_DEFINE(HAVE_FUNCTION_MACRO,1,[Whether there is a __FUNCTION__ macro])
-else
-    dnl __func__ macro
-    AC_CACHE_CHECK([for __func__ macro],libreplace_cv_HAVE_func_MACRO,[
-    AC_TRY_COMPILE([#include <stdio.h>], [printf("%s\n", __func__);],
-    libreplace_cv_HAVE_func_MACRO=yes,libreplace_cv_HAVE_func_MACRO=no)])
-    if test x"$libreplace_cv_HAVE_func_MACRO" = x"yes"; then
-       AC_DEFINE(HAVE_func_MACRO,1,[Whether there is a __func__ macro])
-    fi
-fi
-
-AC_CHECK_HEADERS([sys/param.h limits.h])
-
-AC_CHECK_TYPE(comparison_fn_t, 
-[AC_DEFINE(HAVE_COMPARISON_FN_T, 1,[Whether or not we have comparison_fn_t])])
-
-AC_HAVE_DECL(setenv, [#include <stdlib.h>])
-AC_CHECK_FUNCS(setenv unsetenv)
-
-AC_CHECK_FUNCS(strnlen)
-AC_CHECK_FUNCS(strtoull __strtoull strtouq strtoll __strtoll strtoq)
-
-# this test disabled as we don't actually need __VA_ARGS__ yet
-AC_TRY_CPP([
-#define eprintf(...) fprintf(stderr, __VA_ARGS__)
-eprintf("bla", "bar");
-], AC_DEFINE(HAVE__VA_ARGS__MACRO, 1, [Whether the __VA_ARGS__ macro is available]))
-
-
-AC_CACHE_CHECK([for sig_atomic_t type],libreplace_cv_sig_atomic_t, [
-    AC_TRY_COMPILE([
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#include <signal.h>],[sig_atomic_t i = 0],
-       libreplace_cv_sig_atomic_t=yes,libreplace_cv_sig_atomic_t=no)])
-if test x"$libreplace_cv_sig_atomic_t" = x"yes"; then
-   AC_DEFINE(HAVE_SIG_ATOMIC_T_TYPE,1,[Whether we have the atomic_t variable type])
-fi
-
-
-AC_CACHE_CHECK([for O_DIRECT flag to open(2)],libreplace_cv_HAVE_OPEN_O_DIRECT,[
-AC_TRY_COMPILE([
-#include <unistd.h>
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif],
-[int fd = open("/dev/null", O_DIRECT);],
-libreplace_cv_HAVE_OPEN_O_DIRECT=yes,libreplace_cv_HAVE_OPEN_O_DIRECT=no)])
-if test x"$libreplace_cv_HAVE_OPEN_O_DIRECT" = x"yes"; then
-    AC_DEFINE(HAVE_OPEN_O_DIRECT,1,[Whether the open(2) accepts O_DIRECT])
-fi
-
-
-dnl Check if the C compiler understands volatile (it should, being ANSI).
-AC_CACHE_CHECK([that the C compiler understands volatile],libreplace_cv_volatile, [
-       AC_TRY_COMPILE([#include <sys/types.h>],[volatile int i = 0],
-               libreplace_cv_volatile=yes,libreplace_cv_volatile=no)])
-if test x"$libreplace_cv_volatile" = x"yes"; then
-       AC_DEFINE(HAVE_VOLATILE, 1, [Whether the C compiler understands volatile])
-fi
-
-m4_include(system/config.m4)
-
-m4_include(dlfcn.m4)
-m4_include(getpass.m4)
-m4_include(strptime.m4)
-m4_include(win32.m4)
-m4_include(timegm.m4)
-m4_include(repdir.m4)
-
-AC_CHECK_FUNCS([syslog printf memset memcpy],,[AC_MSG_ERROR([Required function not found])])
-
-echo "LIBREPLACE_BROKEN_CHECKS: END"
-]) dnl end AC_LIBREPLACE_BROKEN_CHECKS
-
-AC_DEFUN_ONCE(AC__LIBREPLACE_ALL_CHECKS_START,
-[
-#LIBREPLACE_ALL_CHECKS: START"
-])
-AC_DEFUN_ONCE(AC__LIBREPLACE_ALL_CHECKS_END,
-[
-#LIBREPLACE_ALL_CHECKS: END"
-])
-m4_define(AC_LIBREPLACE_ALL_CHECKS,
-[
-AC__LIBREPLACE_ALL_CHECKS_START
-AC_LIBREPLACE_LOCATION_CHECKS
-AC_LIBREPLACE_CC_CHECKS
-AC_LIBREPLACE_BROKEN_CHECKS
-AC__LIBREPLACE_ALL_CHECKS_END
-CFLAGS="$CFLAGS -I$libreplacedir"
-])
-
-m4_include(libreplace_cc.m4)
-m4_include(libreplace_ld.m4)
-m4_include(libreplace_network.m4)
-m4_include(libreplace_macros.m4)
-
-m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],[m4_include(autoconf-2.60.m4)])
diff --git a/source4/lib/replace/libreplace_cc.m4 b/source4/lib/replace/libreplace_cc.m4
deleted file mode 100644 (file)
index 30c63f2..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-
-AC_DEFUN_ONCE(AC__LIBREPLACE_ONLY_CC_CHECKS_START,
-[
-echo "LIBREPLACE_CC_CHECKS: START"
-])
-
-AC_DEFUN_ONCE(AC__LIBREPLACE_ONLY_CC_CHECKS_END,
-[
-echo "LIBREPLACE_CC_CHECKS: END"
-])
-
-dnl
-dnl
-dnl AC_LIBREPLACE_CC_CHECKS
-dnl
-dnl Note: we need to use m4_define instead of AC_DEFUN because
-dnl       of the ordering of tests
-dnl       
-dnl 
-m4_define(AC_LIBREPLACE_CC_CHECKS,
-[
-AC__LIBREPLACE_ONLY_CC_CHECKS_START
-
-dnl stop the C89 attempt by autoconf - if autoconf detects -Ae it will enable it
-dnl which conflicts with C99 on HPUX
-ac_cv_prog_cc_Ae=no
-
-savedCFLAGS=$CFLAGS
-AC_PROG_CC
-CFLAGS=$savedCFLAGS
-
-dnl don't try for C99 if we are using gcc, as otherwise we 
-dnl lose immediate structure constants
-if test x"$GCC" != x"yes" ; then
-AC_PROG_CC_C99
-fi
-
-if test x"$GCC" = x"yes" ; then
-       AC_MSG_CHECKING([for version of gcc])
-       GCC_VERSION=`$CC -dumpversion`
-       AC_MSG_RESULT(${GCC_VERSION})
-fi
-AC_USE_SYSTEM_EXTENSIONS
-AC_C_BIGENDIAN
-AC_C_INLINE
-LIBREPLACE_C99_STRUCT_INIT([],[AC_MSG_WARN([c99 structure initializer are not supported])])
-
-AC_PROG_INSTALL
-
-AC_ISC_POSIX
-AC_N_DEFINE(_XOPEN_SOURCE_EXTENDED)
-
-AC_SYS_LARGEFILE
-
-dnl Add #include for broken IRIX header files
-case "$host_os" in
-       *irix6*) AC_ADD_INCLUDE(<standards.h>)
-               ;;
-       *hpux*)
-               # mmap on HPUX is completely broken...
-               AC_DEFINE(MMAP_BLACKLIST, 1, [Whether MMAP is broken])
-               if test "`uname -r`" = "B.11.00" -o "`uname -r`" = "B.11.11"; then
-                       AC_MSG_WARN([Enabling HPUX 11.00/11.11 header bug workaround])
-                       CFLAGS="$CFLAGS -Dpread=pread64 -Dpwrite=pwrite64"
-               fi
-               if test "`uname -r`" = "B.11.23"; then
-                       AC_MSG_WARN([Enabling HPUX 11.23 machine/sys/getppdp.h bug workaround])
-                       CFLAGS="$CFLAGS -D_MACHINE_SYS_GETPPDP_INCLUDED"
-               fi
-               ;;
-       *aix*)
-               AC_DEFINE(BROKEN_STRNDUP, 1, [Whether strndup is broken])
-               AC_DEFINE(BROKEN_STRNLEN, 1, [Whether strnlen is broken])
-               if test "${GCC}" != "yes"; then
-                       ## for funky AIX compiler using strncpy()
-                       CFLAGS="$CFLAGS -D_LINUX_SOURCE_COMPAT -qmaxmem=32000"
-               fi
-               ;;
-       *osf*)
-               # this brings in socklen_t
-               AC_N_DEFINE(_XOPEN_SOURCE,600)
-               AC_N_DEFINE(_OSF_SOURCE)
-               ;;
-       #
-       # VOS may need to have POSIX support and System V compatibility enabled.
-       #
-       *vos*)
-               case "$CFLAGS" in
-                       *-D_POSIX_C_SOURCE*);;
-                       *)
-                               CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=200112L"
-                               AC_DEFINE(_POSIX_C_SOURCE, 200112L, [Whether to enable POSIX support])
-                               ;;
-               esac
-               case "$CFLAGS" in
-                       *-D_SYSV*|*-D_SVID_SOURCE*);;
-                       *)
-                               CFLAGS="$CFLAGS -D_SYSV"
-                               AC_DEFINE(_SYSV, 1, [Whether to enable System V compatibility])
-                               ;;
-               esac
-               ;;
-esac
-
-
-
-AC_CHECK_HEADERS([standards.h])
-
-# Solaris needs HAVE_LONG_LONG defined
-AC_CHECK_TYPES(long long)
-
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(char)
-AC_CHECK_SIZEOF(short)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(long long)
-
-AC_CHECK_TYPE(uint_t, unsigned int)
-AC_CHECK_TYPE(int8_t, char)
-AC_CHECK_TYPE(uint8_t, unsigned char)
-AC_CHECK_TYPE(int16_t, short)
-AC_CHECK_TYPE(uint16_t, unsigned short)
-
-if test $ac_cv_sizeof_int -eq 4 ; then
-AC_CHECK_TYPE(int32_t, int)
-AC_CHECK_TYPE(uint32_t, unsigned int)
-elif test $ac_cv_size_long -eq 4 ; then
-AC_CHECK_TYPE(int32_t, long)
-AC_CHECK_TYPE(uint32_t, unsigned long)
-else
-AC_MSG_ERROR([LIBREPLACE no 32-bit type found])
-fi
-
-AC_CHECK_TYPE(int64_t, long long)
-AC_CHECK_TYPE(uint64_t, unsigned long long)
-
-AC_CHECK_TYPE(size_t, unsigned int)
-AC_CHECK_TYPE(ssize_t, int)
-
-AC_CHECK_SIZEOF(off_t)
-AC_CHECK_SIZEOF(size_t)
-AC_CHECK_SIZEOF(ssize_t)
-
-AC_CHECK_TYPE(intptr_t, long long)
-AC_CHECK_TYPE(uintptr_t, unsigned long long)
-AC_CHECK_TYPE(ptrdiff_t, unsigned long long)
-
-if test x"$ac_cv_type_long_long" != x"yes";then
-       AC_MSG_ERROR([LIBREPLACE needs type 'long long'])
-fi
-if test $ac_cv_sizeof_long_long -lt 8;then
-       AC_MSG_ERROR([LIBREPLACE needs sizeof(long long) >= 8])
-fi
-
-############################################
-# check if the compiler can do immediate structures
-AC_SUBST(libreplace_cv_immediate_structures)
-AC_CACHE_CHECK([for immediate structures],libreplace_cv_immediate_structures,[
-       AC_TRY_COMPILE([
-               #include <stdio.h>
-       ],[
-               typedef struct {unsigned x;} FOOBAR;
-               #define X_FOOBAR(x) ((FOOBAR) { x })
-               #define FOO_ONE X_FOOBAR(1)
-               FOOBAR f = FOO_ONE;   
-               static const struct {
-                       FOOBAR y; 
-               } f2[] = {
-                       {FOO_ONE}
-               };
-               static const FOOBAR f3[] = {FOO_ONE};
-       ],
-       libreplace_cv_immediate_structures=yes,
-       libreplace_cv_immediate_structures=no,
-       libreplace_cv_immediate_structures=cross)
-])
-if test x"$libreplace_cv_immediate_structures" = x"yes"; then
-       AC_DEFINE(HAVE_IMMEDIATE_STRUCTURES,1,[Whether the compiler supports immediate structures])
-fi
-
-AC__LIBREPLACE_ONLY_CC_CHECKS_END
-]) dnl end AC_LIBREPLACE_CC_CHECKS
diff --git a/source4/lib/replace/libreplace_ld.m4 b/source4/lib/replace/libreplace_ld.m4
deleted file mode 100644 (file)
index 81bde46..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-#
-# This offers a nice overview how to build shared libraries on all platforms
-#        http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html
-#
-
-AC_DEFUN([AC_LIBREPLACE_STLD],
-[
-       AC_PATH_PROG(PROG_AR, ar)
-
-       STLD=${PROG_AR}
-
-       AC_SUBST(STLD)
-])
-
-AC_DEFUN([AC_LIBREPLACE_STLD_FLAGS],
-[
-       STLD_FLAGS="-rcs"
-       AC_SUBST(STLD_FLAGS)
-])
-
-AC_DEFUN([AC_LD_EXPORT_DYNAMIC],
-[
-saved_LDFLAGS="$LDFLAGS"
-if AC_TRY_COMMAND([${CC-cc} $CFLAGS -Wl,--version 2>&1 | grep "GNU ld" >/dev/null]); then
-       LD_EXPORT_DYNAMIC="-Wl,-export-dynamic"
-else
-       case "$host_os" in
-               hpux* )
-                 LD_EXPORT_DYNAMIC="-Wl,-E"
-                 ;;
-               *)
-                 LD_EXPORT_DYNAMIC=""
-                 ;;
-         esac
-fi
-AC_SUBST(LD_EXPORT_DYNAMIC)
-LDFLAGS="$saved_LDFLAGS"
-])
-
-AC_DEFUN([AC_LD_PICFLAG],
-[
-case "$host_os" in
-       *linux*) 
-               PICFLAG="-fPIC" 
-               ;;
-       *solaris*)
-               if test "${GCC}" = "yes"; then
-                       PICFLAG="-fPIC"
-               else
-                       PICFLAG="-KPIC"
-               fi
-               ;;
-       *sunos*)
-               PICFLAG="-KPIC"   # Is this correct for SunOS
-               ;;
-       *netbsd* | *freebsd* | *dragonfly* )  
-               PICFLAG="-fPIC -DPIC"
-               ;;
-       *openbsd*)
-               PICFLAG="-fPIC"
-               ;;
-       *irix*)
-               if test "${GCC}" = "yes"; then
-                       PICFLAG="-fPIC"
-               else 
-                       PICFLAG="-KPIC"
-               fi
-               ;;
-       *aix*)
-               # as AIX code is always position independent...
-               PICFLAG="-O2"
-               ;;
-       *hpux*)
-               if test $ac_cv_prog_cc_Ae = yes; then
-                       PICFLAG="+z +ESnolit"
-               elif test "${GCC}" = "yes"; then
-                       PICFLAG="-fPIC"
-               fi
-               if test "$host_cpu" = "ia64"; then
-                       PICFLAG="+z"
-               fi
-               ;;
-       *osf*)
-               PICFLAG="-fPIC"
-               ;;
-       *unixware*)
-               PICFLAG="-KPIC"
-               ;;
-       *darwin*)
-               PICFLAG="-fno-common"
-               ;;
-esac
-AC_SUBST(PICFLAG)
-])
-
-AC_DEFUN([AC_LIBREPLACE_LD_SHLIB_LINKER],
-[
-       LD_SHLIB_LINKER="${CC}"
-
-       case "$host_os" in
-               *irix*)
-                       LD_SHLIB_LINKER="${PROG_LD}"
-                       ;;
-       esac
-
-       AC_SUBST(LD_SHLIB_LINKER)
-])
-
-AC_DEFUN([AC_LIBREPLACE_LD_SHLIB_FLAGS],
-[
-       LD_SHLIB_FLAGS="-shared"
-
-       case "$host_os" in
-               *linux*)
-                       LD_SHLIB_FLAGS="-shared -Wl,-Bsymbolic"
-                       ;;
-               *solaris*)
-                       LD_SHLIB_FLAGS="-G"
-                       if test "${GCC}" = "no"; then
-                               ## ${CFLAGS} added for building 64-bit shared 
-                               ## libs using Sun's Compiler
-                               LD_SHLIB_FLAGS="-G \${CFLAGS}"
-                       fi
-                       ;;
-               *sunos*)
-                       LD_SHLIB_FLAGS="-G"
-                       ;;
-               *irix*)
-                       LD_SHLIB_FLAGS="-shared"
-                       ;;
-               *aix*)
-                       LD_SHLIB_FLAGS="-Wl,-G,-bexpall,-bbigtoc"
-                       ;;
-               *hpux*)
-                       if test "${GCC}" = "yes"; then
-                               LD_SHLIB_FLAGS="-shared"
-                       else
-                               LD_SHLIB_FLAGS="-b"
-                       fi
-                       ;;
-               *osf*)
-                       LD_SHLIB_FLAGS="-shared"
-                       ;;
-               *darwin*)
-                       LD_SHLIB_FLAGS="-dynamiclib -Wl,-search_paths_first"
-                       ;;
-       esac
-
-       AC_SUBST(LD_SHLIB_FLAGS)
-])
-
-AC_DEFUN([AC_LIBREPLACE_LD_SHLIB_DISALLOW_UNDEF_FLAG],
-[
-       LD_SHLIB_DISALLOW_UNDEF_FLAG=""
-
-       #
-       # TODO: enforce error not only warnings
-       #
-       # NOTE: -Wl,--no-allow-shlib-undefined isn't what we want...
-       #       as it bails out on broken system libraries
-       #
-       case "$host_os" in
-               *osf*)
-                       LD_SHLIB_DISALLOW_UNDEF_FLAG="-warning_unresolved"
-                       ;;
-               *darwin*)
-                       LD_SHLIB_DISALLOW_UNDEF_FLAG="-undefined error"
-                       ;;
-       esac
-
-       AC_SUBST(LD_SHLIB_DISALLOW_UNDEF_FLAG)
-])
-
-AC_DEFUN([AC_LIBREPLACE_SHLD],
-[
-       AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_LINKER])
-       SHLD="$LD_SHLIB_LINKER"
-       AC_SUBST(SHLD)
-])
-
-AC_DEFUN([AC_LIBREPLACE_SHLD_FLAGS],
-[
-       AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_FLAGS])
-       AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_DISALLOW_UNDEF_FLAG])
-       SHLD_FLAGS="$LD_SHLIB_FLAGS $LD_SHLIB_DISALLOW_UNDEF_FLAG"
-       AC_SUBST(SHLD_FLAGS)
-])
-
-AC_DEFUN([AC_LD_SHLIBEXT],
-[
-       SHLIBEXT="so"
-       case "$host_os" in
-               *hpux*)
-                       if test "$host_cpu" = "ia64"; then
-                               SHLIBEXT="so"
-                       else
-                               SHLIBEXT="sl"
-                       fi
-               ;;
-               *darwin*)
-                       SHLIBEXT="dylib"
-               ;;
-       esac
-       AC_SUBST(SHLIBEXT)
-])
-
-AC_DEFUN([AC_LD_SONAMEFLAG],
-[
-       AC_SUBST(SONAMEFLAG)
-       SONAMEFLAG=""
-       case "$host_os" in 
-               *linux*)
-                       SONAMEFLAG="-Wl,-soname="
-                       ;;
-               *solaris*)
-                       SONAMEFLAG="-h "
-                       if test "${GCC}" = "yes"; then
-                               SONAMEFLAG="-Wl,-soname="
-                       fi
-                       ;;
-               *sunos*)
-                       SONAMEFLAG="-Wl,-h,"
-                       ;;
-               *netbsd* | *freebsd* | *dragonfly* )
-                       SONAMEFLAG="-Wl,-soname,"
-                       ;;
-               *openbsd*)
-                       SONAMEFLAG="-Wl,-soname,"
-                       ;;
-               *irix*)
-                       SONAMEFLAG="-Wl,-soname,"
-                       ;;
-               *hpux*)
-                       SONAMEFLAG="-Wl,+h,"
-                       ;;
-               *osf*)
-                       SONAMEFLAG="-Wl,-soname,"
-                       ;;
-               *unixware*)
-                       SONAMEFLAG="-Wl,-soname,"
-                       ;;
-               *darwin*)
-                       SONAMEFLAG="#"
-                       ;;
-               *aix*)
-                       # Not supported
-                       SONAMEFLAG="#"
-                       ;;
-               esac
-])
-
-AC_DEFUN([AC_LIBREPLACE_MDLD],
-[
-       AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_LINKER])
-       MDLD="$LD_SHLIB_LINKER"
-       AC_SUBST(MDLD)
-])
-
-AC_DEFUN([AC_LIBREPLACE_LD_SHLIB_ALLOW_UNDEF_FLAG],
-[
-       LD_ALLOW_SHLIB_UNDEF_FLAG=""
-
-       case "$host_os" in
-               *linux*)
-                       LD_SHLIB_ALLOW_UNDEF_FLAG="-Wl,--allow-shlib-undefined"
-                       ;;
-               *osf*)
-                       LD_SHLIB_ALLOW_UNDEF_FLAG="-Wl,-expect_unresolved,\"*\""
-                       ;;
-               *darwin*)
-                       LD_SHLIB_ALLOW_UNDEF_FLAG="-undefined dynamic_lookup"
-                       ;;
-               *aix*)
-                       LD_SHLIB_ALLOW_UNDEF_FLAG="-Wl,-bnoentry"
-                       ;;
-       esac
-
-       AC_SUBST(LD_SHLIB_ALLOW_UNDEF_FLAG)
-])
-
-AC_DEFUN([AC_LIBREPLACE_MDLD_FLAGS],
-[
-       AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_FLAGS])
-       AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_ALLOW_UNDEF_FLAG])
-       MDLD_FLAGS="$LD_SHLIB_FLAGS $LD_SHLIB_ALLOW_UNDEF_FLAG"
-       AC_SUBST(MDLD_FLAGS)
-])
-
-AC_DEFUN([AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR],
-[
-       case "$host_os" in
-               *linux*)
-                       LIB_PATH_VAR=LD_LIBRARY_PATH
-               ;;
-               *netbsd*)
-                       LIB_PATH_VAR=LD_LIBRARY_PATH
-               ;;
-               *solaris*)
-                       LIB_PATH_VAR=LD_LIBRARY_PATH
-               ;;
-               *hpux*)
-                       LIB_PATH_VAR=SHLIB_PATH
-               ;;
-               *osf*)
-                       LIB_PATH_VAR=LD_LIBRARY_PATH
-               ;;
-               *aix*)
-                       LIB_PATH_VAR=LIB_PATH
-                       ;;
-               *irix*)
-                       LIB_PATH_VAR=LD_LIBRARY_PATH
-                       ;;
-               *darwin*)
-                       LIB_PATH_VAR=DYLD_LIBRARY_PATH
-                       ;;
-       esac
-
-       AC_SUBST(LIB_PATH_VAR)
-])
diff --git a/source4/lib/replace/libreplace_macros.m4 b/source4/lib/replace/libreplace_macros.m4
deleted file mode 100644 (file)
index 1856eac..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-#
-# This is a collection of useful autoconf macros
-#
-
-############################################
-# Check if the compiler handles c99 struct initialization, and if not try -AC99 and -c99 flags
-# Usage: LIBREPLACE_C99_STRUCT_INIT(success-action,failure-action)
-# changes CFLAGS to add -AC99 or -c99 if needed
-AC_DEFUN([LIBREPLACE_C99_STRUCT_INIT],
-[
-saved_CFLAGS="$CFLAGS";
-c99_init=no
-if test x"$c99_init" = x"no"; then
-    AC_MSG_CHECKING(for C99 designated initializers)
-    CFLAGS="$saved_CFLAGS";
-    AC_TRY_COMPILE([#include <stdio.h>],
-     [ struct foo {int x;char y;};
-       struct foo bar = { .y = 'X', .x = 1 };   
-     ],
-     [AC_MSG_RESULT(yes); c99_init=yes],[AC_MSG_RESULT(no)])
-fi
-if test x"$c99_init" = x"no"; then
-    AC_MSG_CHECKING(for C99 designated initializers with -AC99)
-    CFLAGS="$saved_CFLAGS -AC99";
-    AC_TRY_COMPILE([#include <stdio.h>],
-     [ struct foo {int x;char y;};
-       struct foo bar = { .y = 'X', .x = 1 };   
-     ],
-     [AC_MSG_RESULT(yes); c99_init=yes],[AC_MSG_RESULT(no)])
-fi
-if test x"$c99_init" = x"no"; then
-    AC_MSG_CHECKING(for C99 designated initializers with -qlanglvl=extc99)
-    CFLAGS="$saved_CFLAGS -qlanglvl=extc99";
-    AC_TRY_COMPILE([#include <stdio.h>],
-     [ struct foo {int x;char y;};
-       struct foo bar = { .y = 'X', .x = 1 };   
-     ],
-     [AC_MSG_RESULT(yes); c99_init=yes],[AC_MSG_RESULT(no)])
-fi
-if test x"$c99_init" = x"no"; then
-    AC_MSG_CHECKING(for C99 designated initializers with -qlanglvl=stdc99)
-    CFLAGS="$saved_CFLAGS -qlanglvl=stdc99";
-    AC_TRY_COMPILE([#include <stdio.h>],
-     [ struct foo {int x;char y;};
-       struct foo bar = { .y = 'X', .x = 1 };   
-     ],
-     [AC_MSG_RESULT(yes); c99_init=yes],[AC_MSG_RESULT(no)])
-fi
-if test x"$c99_init" = x"no"; then
-    AC_MSG_CHECKING(for C99 designated initializers with -c99)
-    CFLAGS="$saved_CFLAGS -c99"
-    AC_TRY_COMPILE([#include <stdio.h>],
-     [ struct foo {int x;char y;};
-       struct foo bar = { .y = 'X', .x = 1 };   
-     ],
-     [AC_MSG_RESULT(yes); c99_init=yes],[AC_MSG_RESULT(no)])
-fi
-
-if test "`uname`" = "HP-UX"; then
-  if test "$ac_cv_c_compiler_gnu" = no; then
-       # special override for broken HP-UX compiler - I can't find a way to test
-       # this properly (its a compiler bug)
-       CFLAGS="$CFLAGS -AC99";
-       c99_init=yes;
-  fi
-fi
-
-if test x"$c99_init" = x"yes"; then
-    saved_CFLAGS=""
-    $1
-else
-    CFLAGS="$saved_CFLAGS"
-    saved_CFLAGS=""
-    $2
-fi
-])
-
-dnl AC_PROG_CC_FLAG(flag)
-AC_DEFUN(AC_PROG_CC_FLAG,
-[AC_CACHE_CHECK(whether ${CC-cc} accepts -$1, ac_cv_prog_cc_$1,
-[echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -$1 -c conftest.c 2>&1`"; then
-  ac_cv_prog_cc_$1=yes
-else
-  ac_cv_prog_cc_$1=no
-fi
-rm -f conftest*
-])])
-
-dnl see if a declaration exists for a function or variable
-dnl defines HAVE_function_DECL if it exists
-dnl AC_HAVE_DECL(var, includes)
-AC_DEFUN(AC_HAVE_DECL,
-[
- AC_CACHE_CHECK([for $1 declaration],ac_cv_have_$1_decl,[
-    AC_TRY_COMPILE([$2],[int i = (int)$1],
-        ac_cv_have_$1_decl=yes,ac_cv_have_$1_decl=no)])
- if test x"$ac_cv_have_$1_decl" = x"yes"; then
-    AC_DEFINE([HAVE_]translit([$1], [a-z], [A-Z])[_DECL],1,[Whether $1() is available])
- fi
-])
-
-
-# AC_CHECK_LIB_EXT(LIBRARY, [EXT_LIBS], [FUNCTION],
-#              [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
-#              [ADD-ACTION-IF-FOUND],[OTHER-LIBRARIES])
-# ------------------------------------------------------
-#
-# Use a cache variable name containing both the library and function name,
-# because the test really is for library $1 defining function $3, not
-# just for library $1.  Separate tests with the same $1 and different $3s
-# may have different results.
-#
-# Note that using directly AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1_$3])
-# is asking for trouble, since AC_CHECK_LIB($lib, fun) would give
-# ac_cv_lib_$lib_fun, which is definitely not what was meant.  Hence
-# the AS_LITERAL_IF indirection.
-#
-# FIXME: This macro is extremely suspicious.  It DEFINEs unconditionally,
-# whatever the FUNCTION, in addition to not being a *S macro.  Note
-# that the cache does depend upon the function we are looking for.
-#
-# It is on purpose we used `ac_check_lib_ext_save_LIBS' and not just
-# `ac_save_LIBS': there are many macros which don't want to see `LIBS'
-# changed but still want to use AC_CHECK_LIB_EXT, so they save `LIBS'.
-# And ``ac_save_LIBS' is too tempting a name, so let's leave them some
-# freedom.
-AC_DEFUN([AC_CHECK_LIB_EXT],
-[
-AH_CHECK_LIB_EXT([$1])
-ac_check_lib_ext_save_LIBS=$LIBS
-LIBS="-l$1 $$2 $7 $LIBS"
-AS_LITERAL_IF([$1],
-      [AS_VAR_PUSHDEF([ac_Lib_ext], [ac_cv_lib_ext_$1])],
-      [AS_VAR_PUSHDEF([ac_Lib_ext], [ac_cv_lib_ext_$1''])])dnl
-
-m4_ifval([$3],
- [
-    AH_CHECK_FUNC_EXT([$3])
-    AS_LITERAL_IF([$1],
-              [AS_VAR_PUSHDEF([ac_Lib_func], [ac_cv_lib_ext_$1_$3])],
-              [AS_VAR_PUSHDEF([ac_Lib_func], [ac_cv_lib_ext_$1''_$3])])dnl
-    AC_CACHE_CHECK([for $3 in -l$1], ac_Lib_func,
-       [AC_TRY_LINK_FUNC($3,
-                 [AS_VAR_SET(ac_Lib_func, yes);
-                 AS_VAR_SET(ac_Lib_ext, yes)],
-                 [AS_VAR_SET(ac_Lib_func, no);
-                 AS_VAR_SET(ac_Lib_ext, no)])
-       ])
-    AS_IF([test AS_VAR_GET(ac_Lib_func) = yes],
-        [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$3))])dnl
-    AS_VAR_POPDEF([ac_Lib_func])dnl
- ],[
-    AC_CACHE_CHECK([for -l$1], ac_Lib_ext,
-       [AC_TRY_LINK_FUNC([main],
-                 [AS_VAR_SET(ac_Lib_ext, yes)],
-                 [AS_VAR_SET(ac_Lib_ext, no)])
-       ])
- ])
-LIBS=$ac_check_lib_ext_save_LIBS
-
-AS_IF([test AS_VAR_GET(ac_Lib_ext) = yes],
-    [m4_default([$4], 
-        [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1))
-               case "$$2" in
-                   *-l$1*)
-                       ;;
-                   *)
-                       $2="-l$1 $$2"
-                       ;;
-               esac])
-               [$6]
-           ],
-           [$5])dnl
-AS_VAR_POPDEF([ac_Lib_ext])dnl
-])# AC_CHECK_LIB_EXT
-
-# AH_CHECK_LIB_EXT(LIBNAME)
-# ---------------------
-m4_define([AH_CHECK_LIB_EXT],
-[AH_TEMPLATE(AS_TR_CPP(HAVE_LIB$1),
-             [Define to 1 if you have the `]$1[' library (-l]$1[).])])
-
-dnl AC_SEARCH_LIBS_EXT(FUNCTION, SEARCH-LIBS, EXT_LIBS,
-dnl                    [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
-dnl                    [OTHER-LIBRARIES])
-dnl --------------------------------------------------------
-dnl Search for a library defining FUNC, if it's not already available.
-AC_DEFUN([AC_SEARCH_LIBS_EXT],
-[AC_CACHE_CHECK([for library containing $1], [ac_cv_search_ext_$1],
-[
-ac_func_search_ext_save_LIBS=$LIBS
-ac_cv_search_ext_$1=no
-AC_LINK_IFELSE([AC_LANG_CALL([], [$1])],
-              [ac_cv_search_ext_$1="none required"])
-if test "$ac_cv_search_ext_$1" = no; then
-  for ac_lib in $2; do
-    LIBS="-l$ac_lib $$3 $6 $ac_func_search_save_ext_LIBS"
-    AC_LINK_IFELSE([AC_LANG_CALL([], [$1])],
-                  [ac_cv_search_ext_$1="-l$ac_lib"
-break])
-  done
-fi
-LIBS=$ac_func_search_ext_save_LIBS])
-AS_IF([test "$ac_cv_search_ext_$1" != no],
-  [test "$ac_cv_search_ext_$1" = "none required" || $3="$ac_cv_search_ext_$1 $$3"
-  $4],
-      [$5])dnl
-])
-
-dnl check for a function in a $LIBS and $OTHER_LIBS libraries variable.
-dnl AC_CHECK_FUNC_EXT(func,OTHER_LIBS,IF-TRUE,IF-FALSE)
-AC_DEFUN([AC_CHECK_FUNC_EXT],
-[
-    AH_CHECK_FUNC_EXT($1)      
-    ac_check_func_ext_save_LIBS=$LIBS
-    LIBS="$2 $LIBS"
-    AS_VAR_PUSHDEF([ac_var], [ac_cv_func_ext_$1])dnl
-    AC_CACHE_CHECK([for $1], ac_var,
-       [AC_LINK_IFELSE([AC_LANG_FUNC_LINK_TRY([$1])],
-                [AS_VAR_SET(ac_var, yes)],
-                [AS_VAR_SET(ac_var, no)])])
-    LIBS=$ac_check_func_ext_save_LIBS
-    AS_IF([test AS_VAR_GET(ac_var) = yes], 
-           [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1])) $3], 
-           [$4])dnl
-AS_VAR_POPDEF([ac_var])dnl
-])# AC_CHECK_FUNC
-
-# AH_CHECK_FUNC_EXT(FUNCNAME)
-# ---------------------
-m4_define([AH_CHECK_FUNC_EXT],
-[AH_TEMPLATE(AS_TR_CPP(HAVE_$1),
-             [Define to 1 if you have the `]$1[' function.])])
-
-dnl Define an AC_DEFINE with ifndef guard.
-dnl AC_N_DEFINE(VARIABLE [, VALUE])
-AC_DEFUN([AC_N_DEFINE],
-[
-AH_VERBATIM([$1], [
-#ifndef $1
-# undef $1
-#endif
-])
-
- cat >>confdefs.h <<\EOF
-#ifndef $1
-[#define] $1 m4_if($#, 1, 1, [$2])
-#endif
-EOF
-])
-
-dnl Add an #include
-dnl AC_ADD_INCLUDE(VARIABLE)
-define(AC_ADD_INCLUDE,
-[cat >> confdefs.h <<\EOF
-[#include] $1
-EOF
-])
-
-dnl remove an #include
-dnl AC_REMOVE_INCLUDE(VARIABLE)
-define(AC_REMOVE_INCLUDE,
-[
-grep -v '[#include] $1' confdefs.h >confdefs.h.tmp
-cat confdefs.h.tmp > confdefs.h
-rm confdefs.h.tmp
-])
-
-dnl remove an #define
-dnl AC_REMOVE_DEFINE(VARIABLE)
-define(AC_REMOVE_DEFINE,
-[
-grep -v '[#define] $1 ' confdefs.h |grep -v '[#define] $1[$]'>confdefs.h.tmp
-cat confdefs.h.tmp > confdefs.h
-rm confdefs.h.tmp
-])
-
-dnl AS_HELP_STRING is not available in autoconf 2.57, and AC_HELP_STRING is deprecated
-dnl in autoconf 2.59, so define AS_HELP_STRING to be AC_HELP_STRING unless it is already
-dnl defined.
-m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
-
-dnl check if the prototype in the header matches the given one
-dnl AC_VERIFY_C_PROTOTYPE(prototype,functionbody,[IF-TRUE].[IF-FALSE],[extraheaders])
-AC_DEFUN(AC_VERIFY_C_PROTOTYPE,
-[AC_CACHE_CHECK([for prototype $1], AS_TR_SH([ac_cv_c_prototype_$1]),
-       AC_COMPILE_IFELSE([AC_LANG_SOURCE([
-               AC_INCLUDES_DEFAULT
-               $5
-               $1
-               {
-                       $2
-               }
-       ])],[
-               AS_TR_SH([ac_cv_c_prototype_$1])=yes
-       ],[
-               AS_TR_SH([ac_cv_c_prototype_$1])=no
-       ])
-)
-AS_IF([test $AS_TR_SH([ac_cv_c_prototype_$1]) = yes],[$3],[$4])
-])
-
-AC_DEFUN(LIBREPLACE_PROVIDE_HEADER, 
-[AC_CHECK_HEADER([$1], 
-               [ AC_CONFIG_COMMANDS(rm-$1, [rm -f $libreplacedir/$1], [libreplacedir=$libreplacedir]) ],
-               [ AC_CONFIG_COMMANDS(mk-$1, [echo "#include \"replace.h\"" > $libreplacedir/$1], [libreplacedir=$libreplacedir]) ]
-       )
-])
-
-dnl AC_HAVE_TYPE(TYPE,INCLUDES)
-AC_DEFUN([AC_HAVE_TYPE], [
-AC_REQUIRE([AC_HEADER_STDC])
-cv=`echo "$1" | sed 'y%./+- %__p__%'`
-AC_MSG_CHECKING(for $1)
-AC_CACHE_VAL([ac_cv_type_$cv],
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
-AC_INCLUDES_DEFAULT
-$2]],
-[[$1 foo;]])],
-[eval "ac_cv_type_$cv=yes"],
-[eval "ac_cv_type_$cv=no"]))dnl
-ac_foo=`eval echo \\$ac_cv_type_$cv`
-AC_MSG_RESULT($ac_foo)
-if test "$ac_foo" = yes; then
-  ac_tr_hdr=HAVE_`echo $1 | sed 'y%abcdefghijklmnopqrstuvwxyz./- %ABCDEFGHIJKLMNOPQRSTUVWXYZ____%'`
-if false; then
-       AC_CHECK_TYPES($1)
-fi
-  AC_DEFINE_UNQUOTED($ac_tr_hdr, 1, [Define if you have type `$1'])
-fi
-])
diff --git a/source4/lib/replace/libreplace_network.m4 b/source4/lib/replace/libreplace_network.m4
deleted file mode 100644 (file)
index 4edb55c..0000000
+++ /dev/null
@@ -1,377 +0,0 @@
-AC_DEFUN_ONCE(AC_LIBREPLACE_NETWORK_CHECKS,
-[
-echo "LIBREPLACE_NETWORK_CHECKS: START"
-
-AC_DEFINE(LIBREPLACE_NETWORK_CHECKS, 1, [LIBREPLACE_NETWORK_CHECKS were used])
-LIBREPLACE_NETWORK_OBJS=""
-LIBREPLACE_NETWORK_LIBS=""
-
-AC_CHECK_HEADERS(sys/socket.h netinet/in.h netdb.h arpa/inet.h)
-AC_CHECK_HEADERS(netinet/ip.h netinet/tcp.h netinet/in_systm.h netinet/in_ip.h)
-AC_CHECK_HEADERS(sys/sockio.h sys/un.h)
-
-dnl we need to check that net/if.h really can be used, to cope with hpux
-dnl where including it always fails
-AC_CACHE_CHECK([for usable net/if.h],libreplace_cv_USABLE_NET_IF_H,[
-       AC_COMPILE_IFELSE([AC_LANG_SOURCE([
-               AC_INCLUDES_DEFAULT
-               #if HAVE_SYS_SOCKET_H
-               # include <sys/socket.h>
-               #endif
-               #include <net/if.h>
-               int main(void) {return 0;}])],
-               [libreplace_cv_USABLE_NET_IF_H=yes],
-               [libreplace_cv_USABLE_NET_IF_H=no]
-       )
-])
-if test x"$libreplace_cv_USABLE_NET_IF_H" = x"yes";then
-       AC_DEFINE(HAVE_NET_IF_H, 1, usability of net/if.h)
-fi
-
-AC_HAVE_TYPE([socklen_t],[#include <sys/socket.h>])
-AC_HAVE_TYPE([sa_family_t],[#include <sys/socket.h>])
-AC_HAVE_TYPE([struct addrinfo], [#include <netdb.h>])
-AC_HAVE_TYPE([struct sockaddr], [#include <sys/socket.h>])
-AC_HAVE_TYPE([struct sockaddr_storage], [
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <netinet/in.h>
-])
-AC_HAVE_TYPE([struct sockaddr_in6], [
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <netinet/in.h>
-])
-
-if test x"$ac_cv_type_struct_sockaddr_storage" = x"yes"; then
-AC_CHECK_MEMBER(struct sockaddr_storage.ss_family,
-                AC_DEFINE(HAVE_SS_FAMILY, 1, [Defined if struct sockaddr_storage has ss_family field]),,
-                [
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <netinet/in.h>
-               ])
-
-if test x"$ac_cv_member_struct_sockaddr_storage_ss_family" != x"yes"; then
-AC_CHECK_MEMBER(struct sockaddr_storage.__ss_family,
-                AC_DEFINE(HAVE___SS_FAMILY, 1, [Defined if struct sockaddr_storage has __ss_family field]),,
-                [
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <netinet/in.h>
-               ])
-fi
-fi
-
-AC_CACHE_CHECK([for sin_len in sock],libreplace_cv_HAVE_SOCK_SIN_LEN,[
-       AC_TRY_COMPILE(
-               [
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-               ],[
-struct sockaddr_in sock; sock.sin_len = sizeof(sock);
-               ],[
-               libreplace_cv_HAVE_SOCK_SIN_LEN=yes
-               ],[
-               libreplace_cv_HAVE_SOCK_SIN_LEN=no
-               ])
-])
-if test x"$libreplace_cv_HAVE_SOCK_SIN_LEN" = x"yes"; then
-       AC_DEFINE(HAVE_SOCK_SIN_LEN,1,[Whether the sockaddr_in struct has a sin_len property])
-fi
-
-############################################
-# check for unix domain sockets
-AC_CACHE_CHECK([for unix domain sockets],libreplace_cv_HAVE_UNIXSOCKET,[
-       AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stddef.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-               ],[
-struct sockaddr_un sunaddr;
-sunaddr.sun_family = AF_UNIX;
-               ],[
-               libreplace_cv_HAVE_UNIXSOCKET=yes
-               ],[
-               libreplace_cv_HAVE_UNIXSOCKET=no
-               ])
-])
-if test x"$libreplace_cv_HAVE_UNIXSOCKET" = x"yes"; then
-       AC_DEFINE(HAVE_UNIXSOCKET,1,[If we need to build with unixscoket support])
-fi
-
-dnl The following test is roughl taken from the cvs sources.
-dnl
-dnl If we can't find connect, try looking in -lsocket, -lnsl, and -linet.
-dnl The Irix 5 libc.so has connect and gethostbyname, but Irix 5 also has
-dnl libsocket.so which has a bad implementation of gethostbyname (it
-dnl only looks in /etc/hosts), so we only look for -lsocket if we need
-dnl it.
-AC_CHECK_FUNCS(connect)
-if test x"$ac_cv_func_connect" = x"no"; then
-       AC_CHECK_LIB_EXT(nsl_s, LIBREPLACE_NETWORK_LIBS, connect)
-       AC_CHECK_LIB_EXT(nsl, LIBREPLACE_NETWORK_LIBS, connect)
-       AC_CHECK_LIB_EXT(socket, LIBREPLACE_NETWORK_LIBS, connect)
-       AC_CHECK_LIB_EXT(inet, LIBREPLACE_NETWORK_LIBS, connect)
-       dnl We can't just call AC_CHECK_FUNCS(connect) here,
-       dnl because the value has been cached.
-       if test x"$ac_cv_lib_ext_nsl_s_connect" = x"yes" ||
-               test x"$ac_cv_lib_ext_nsl_connect" = x"yes" ||
-               test x"$ac_cv_lib_ext_socket_connect" = x"yes" ||
-               test x"$ac_cv_lib_ext_inet_connect" = x"yes"
-       then
-               AC_DEFINE(HAVE_CONNECT,1,[Whether the system has connect()])
-       fi
-fi
-
-AC_CHECK_FUNCS(gethostbyname)
-if test x"$ac_cv_func_gethostbyname" = x"no"; then
-       AC_CHECK_LIB_EXT(nsl_s, LIBREPLACE_NETWORK_LIBS, gethostbyname)
-       AC_CHECK_LIB_EXT(nsl, LIBREPLACE_NETWORK_LIBS, gethostbyname)
-       AC_CHECK_LIB_EXT(socket, LIBREPLACE_NETWORK_LIBS, gethostbyname)
-       dnl We can't just call AC_CHECK_FUNCS(gethostbyname) here,
-       dnl because the value has been cached.
-       if test x"$ac_cv_lib_ext_nsl_s_gethostbyname" = x"yes" ||
-               test x"$ac_cv_lib_ext_nsl_gethostbyname" = x"yes" ||
-               test x"$ac_cv_lib_ext_socket_gethostbyname" = x"yes"
-       then
-               AC_DEFINE(HAVE_GETHOSTBYNAME,1,
-                         [Whether the system has gethostbyname()])
-       fi
-fi
-
-dnl HP-UX has if_nametoindex in -lipv6
-AC_CHECK_FUNCS(if_nametoindex)
-if test x"$ac_cv_func_if_nametoindex" = x"no"; then
-       AC_CHECK_LIB_EXT(ipv6, LIBREPLACE_NETWORK_LIBS, if_nametoindex)
-       dnl We can't just call AC_CHECK_FUNCS(if_nametoindex) here,
-       dnl because the value has been cached.
-       if test x"$ac_cv_lib_ext_ipv6_if_nametoindex" = x"yes"
-       then
-               AC_DEFINE(HAVE_IF_NAMETOINDEX, 1,
-                         [Whether the system has if_nametoindex()])
-       fi
-fi
-
-# The following tests need LIBS="${LIBREPLACE_NETWORK_LIBS}"
-old_LIBS=$LIBS
-LIBS="${LIBREPLACE_NETWORK_LIBS}"
-SAVE_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS -I$libreplacedir"
-
-AC_CHECK_FUNCS(socketpair,[],[LIBREPLACE_NETWORK_OBJS="${LIBREPLACE_NETWORK_OBJS} socketpair.o"])
-
-AC_CACHE_CHECK([for broken inet_ntoa],libreplace_cv_REPLACE_INET_NTOA,[
-AC_TRY_RUN([
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <netinet/in.h>
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-main() { struct in_addr ip; ip.s_addr = 0x12345678;
-if (strcmp(inet_ntoa(ip),"18.52.86.120") &&
-    strcmp(inet_ntoa(ip),"120.86.52.18")) { exit(0); }
-exit(1);}],
-           libreplace_cv_REPLACE_INET_NTOA=yes,libreplace_cv_REPLACE_INET_NTOA=no,libreplace_cv_REPLACE_INET_NTOA=cross)])
-
-AC_CHECK_FUNCS(inet_ntoa,[],[libreplace_cv_REPLACE_INET_NTOA=yes])
-if test x"$libreplace_cv_REPLACE_INET_NTOA" = x"yes"; then
-    AC_DEFINE(REPLACE_INET_NTOA,1,[Whether inet_ntoa should be replaced])
-    LIBREPLACE_NETWORK_OBJS="${LIBREPLACE_NETWORK_OBJS} inet_ntoa.o"
-fi
-
-AC_CHECK_FUNCS(inet_aton,[],[LIBREPLACE_NETWORK_OBJS="${LIBREPLACE_NETWORK_OBJS} inet_aton.o"])
-
-AC_CHECK_FUNCS(inet_ntop,[],[LIBREPLACE_NETWORK_OBJS="${LIBREPLACE_NETWORK_OBJS} inet_ntop.o"])
-
-AC_CHECK_FUNCS(inet_pton,[],[LIBREPLACE_NETWORK_OBJS="${LIBREPLACE_NETWORK_OBJS} inet_pton.o"])
-
-dnl test for getaddrinfo/getnameinfo
-AC_CACHE_CHECK([for getaddrinfo],libreplace_cv_HAVE_GETADDRINFO,[
-AC_TRY_LINK([
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#include <sys/socket.h>
-#include <netdb.h>],
-[
-struct sockaddr sa;
-struct addrinfo *ai = NULL;
-int ret = getaddrinfo(NULL, NULL, NULL, &ai);
-if (ret != 0) {
-       const char *es = gai_strerror(ret);
-}
-freeaddrinfo(ai);
-ret = getnameinfo(&sa, sizeof(sa),
-               NULL, 0,
-               NULL, 0, 0);
-
-],
-libreplace_cv_HAVE_GETADDRINFO=yes,libreplace_cv_HAVE_GETADDRINFO=no)])
-if test x"$libreplace_cv_HAVE_GETADDRINFO" = x"yes"; then
-       AC_DEFINE(HAVE_GETADDRINFO,1,[Whether the system has getaddrinfo])
-       AC_DEFINE(HAVE_GETNAMEINFO,1,[Whether the system has getnameinfo])
-       AC_DEFINE(HAVE_FREEADDRINFO,1,[Whether the system has freeaddrinfo])
-       AC_DEFINE(HAVE_GAI_STRERROR,1,[Whether the system has gai_strerror])
-else
-       LIBREPLACE_NETWORK_OBJS="${LIBREPLACE_NETWORK_OBJS} getaddrinfo.o"
-fi
-
-AC_CHECK_HEADERS([ifaddrs.h])
-
-dnl Used when getifaddrs is not available
-AC_CHECK_MEMBERS([struct sockaddr.sa_len], 
-        [AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Whether struct sockaddr has a sa_len member])],
-        [],
-        [#include <sys/socket.h>])
-
-dnl test for getifaddrs and freeifaddrs
-AC_CACHE_CHECK([for getifaddrs and freeifaddrs],libreplace_cv_HAVE_GETIFADDRS,[
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <ifaddrs.h>
-#include <netdb.h>],
-[
-struct ifaddrs *ifp = NULL;
-int ret = getifaddrs (&ifp);
-freeifaddrs(ifp);
-],
-libreplace_cv_HAVE_GETIFADDRS=yes,libreplace_cv_HAVE_GETIFADDRS=no)])
-if test x"$libreplace_cv_HAVE_GETIFADDRS" = x"yes"; then
-    AC_DEFINE(HAVE_GETIFADDRS,1,[Whether the system has getifaddrs])
-    AC_DEFINE(HAVE_FREEIFADDRS,1,[Whether the system has freeifaddrs])
-       AC_DEFINE(HAVE_STRUCT_IFADDRS,1,[Whether struct ifaddrs is available])
-fi
-
-##################
-# look for a method of finding the list of network interfaces
-iface=no;
-AC_CACHE_CHECK([for iface getifaddrs],libreplace_cv_HAVE_IFACE_GETIFADDRS,[
-AC_TRY_RUN([
-#define HAVE_IFACE_GETIFADDRS 1
-#define NO_CONFIG_H 1
-#define AUTOCONF_TEST 1
-#define SOCKET_WRAPPER_NOT_REPLACE
-#include "$libreplacedir/replace.c"
-#include "$libreplacedir/inet_ntop.c"
-#include "$libreplacedir/snprintf.c"
-#include "$libreplacedir/getifaddrs.c"
-#define getifaddrs_test main
-#include "$libreplacedir/test/getifaddrs.c"],
-           libreplace_cv_HAVE_IFACE_GETIFADDRS=yes,libreplace_cv_HAVE_IFACE_GETIFADDRS=no,libreplace_cv_HAVE_IFACE_GETIFADDRS=cross)])
-if test x"$libreplace_cv_HAVE_IFACE_GETIFADDRS" = x"yes"; then
-    iface=yes;AC_DEFINE(HAVE_IFACE_GETIFADDRS,1,[Whether iface getifaddrs is available])
-else
-       LIBREPLACE_NETWORK_OBJS="${LIBREPLACE_NETWORK_OBJS} getifaddrs.o"
-fi
-
-
-if test $iface = no; then
-AC_CACHE_CHECK([for iface AIX],libreplace_cv_HAVE_IFACE_AIX,[
-AC_TRY_RUN([
-#define HAVE_IFACE_AIX 1
-#define NO_CONFIG_H 1
-#define AUTOCONF_TEST 1
-#undef _XOPEN_SOURCE_EXTENDED
-#define SOCKET_WRAPPER_NOT_REPLACE
-#include "$libreplacedir/replace.c"
-#include "$libreplacedir/inet_ntop.c"
-#include "$libreplacedir/snprintf.c"
-#include "$libreplacedir/getifaddrs.c"
-#define getifaddrs_test main
-#include "$libreplacedir/test/getifaddrs.c"],
-           libreplace_cv_HAVE_IFACE_AIX=yes,libreplace_cv_HAVE_IFACE_AIX=no,libreplace_cv_HAVE_IFACE_AIX=cross)])
-if test x"$libreplace_cv_HAVE_IFACE_AIX" = x"yes"; then
-    iface=yes;AC_DEFINE(HAVE_IFACE_AIX,1,[Whether iface AIX is available])
-fi
-fi
-
-
-if test $iface = no; then
-AC_CACHE_CHECK([for iface ifconf],libreplace_cv_HAVE_IFACE_IFCONF,[
-AC_TRY_RUN([
-#define HAVE_IFACE_IFCONF 1
-#define NO_CONFIG_H 1
-#define AUTOCONF_TEST 1
-#define SOCKET_WRAPPER_NOT_REPLACE
-#include "$libreplacedir/replace.c"
-#include "$libreplacedir/inet_ntop.c"
-#include "$libreplacedir/snprintf.c"
-#include "$libreplacedir/getifaddrs.c"
-#define getifaddrs_test main
-#include "$libreplacedir/test/getifaddrs.c"],
-           libreplace_cv_HAVE_IFACE_IFCONF=yes,libreplace_cv_HAVE_IFACE_IFCONF=no,libreplace_cv_HAVE_IFACE_IFCONF=cross)])
-if test x"$libreplace_cv_HAVE_IFACE_IFCONF" = x"yes"; then
-    iface=yes;AC_DEFINE(HAVE_IFACE_IFCONF,1,[Whether iface ifconf is available])
-fi
-fi
-
-if test $iface = no; then
-AC_CACHE_CHECK([for iface ifreq],libreplace_cv_HAVE_IFACE_IFREQ,[
-AC_TRY_RUN([
-#define HAVE_IFACE_IFREQ 1
-#define NO_CONFIG_H 1
-#define AUTOCONF_TEST 1
-#define SOCKET_WRAPPER_NOT_REPLACE
-#include "$libreplacedir/replace.c"
-#include "$libreplacedir/inet_ntop.c"
-#include "$libreplacedir/snprintf.c"
-#include "$libreplacedir/getifaddrs.c"
-#define getifaddrs_test main
-#include "$libreplacedir/test/getifaddrs.c"],
-           libreplace_cv_HAVE_IFACE_IFREQ=yes,libreplace_cv_HAVE_IFACE_IFREQ=no,libreplace_cv_HAVE_IFACE_IFREQ=cross)])
-if test x"$libreplace_cv_HAVE_IFACE_IFREQ" = x"yes"; then
-    iface=yes;AC_DEFINE(HAVE_IFACE_IFREQ,1,[Whether iface ifreq is available])
-fi
-fi
-
-dnl test for ipv6
-AC_CACHE_CHECK([for ipv6 support],libreplace_cv_HAVE_IPV6,[
-       AC_TRY_LINK([
-#include <stdlib.h> /* for NULL */
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <netdb.h>
-               ],
-               [
-struct sockaddr_storage sa_store;
-struct addrinfo *ai = NULL;
-struct in6_addr in6addr;
-int idx = if_nametoindex("iface1");
-int s = socket(AF_INET6, SOCK_STREAM, 0);
-int ret = getaddrinfo(NULL, NULL, NULL, &ai);
-if (ret != 0) {
-       const char *es = gai_strerror(ret);
-}
-freeaddrinfo(ai);
-               ],[
-               libreplace_cv_HAVE_IPV6=yes
-               ],[
-               libreplace_cv_HAVE_IPV6=no
-               ])
-])
-if test x"$libreplace_cv_HAVE_IPV6" = x"yes"; then
-    AC_DEFINE(HAVE_IPV6,1,[Whether the system has IPv6 support])
-fi
-
-LIBS=$old_LIBS
-CPPFLAGS="$SAVE_CPPFLAGS"
-
-LIBREPLACEOBJ="${LIBREPLACEOBJ} ${LIBREPLACE_NETWORK_OBJS}"
-
-echo "LIBREPLACE_NETWORK_CHECKS: END"
-]) dnl end AC_LIBREPLACE_NETWORK_CHECKS
diff --git a/source4/lib/replace/repdir.m4 b/source4/lib/replace/repdir.m4
deleted file mode 100644 (file)
index f53a4c2..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-AC_CACHE_CHECK([for broken readdir],libreplace_cv_READDIR_NEEDED,[
-       AC_TRY_RUN([
-#define test_readdir_os2_delete main
-#include "$libreplacedir/test/os2_delete.c"],
-       [libreplace_cv_READDIR_NEEDED=no],
-       [libreplace_cv_READDIR_NEEDED=yes],
-       [libreplace_cv_READDIR_NEEDED="assuming not"])
-])
-
-#
-# try to replace with getdirentries() if needed
-#
-if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then
-AC_CHECK_FUNCS(getdirentries)
-AC_VERIFY_C_PROTOTYPE([long telldir(const DIR *dir)],
-       [
-       return 0;
-       ],[
-       AC_DEFINE(TELLDIR_TAKES_CONST_DIR, 1, [Whether telldir takes a const pointer])
-       ],[],[
-       #include <dirent.h>
-       ])
-
-AC_VERIFY_C_PROTOTYPE([int seekdir(DIR *dir, long ofs)],
-       [
-       return 0;
-       ],[
-       AC_DEFINE(SEEKDIR_RETURNS_INT, 1, [Whether seekdir returns an int])
-       ],[],[
-       #include <dirent.h>
-       ])
-AC_CACHE_CHECK([for replacing readdir using getdirentries()],libreplace_cv_READDIR_GETDIRENTRIES,[
-       AC_TRY_RUN([
-#define _LIBREPLACE_REPLACE_H
-#include "$libreplacedir/repdir_getdirentries.c"
-#define test_readdir_os2_delete main
-#include "$libreplacedir/test/os2_delete.c"],
-       [libreplace_cv_READDIR_GETDIRENTRIES=yes],
-       [libreplace_cv_READDIR_GETDIRENTRIES=no])
-])
-fi
-if test x"$libreplace_cv_READDIR_GETDIRENTRIES" = x"yes"; then
-       AC_DEFINE(REPLACE_READDIR,1,[replace readdir])
-       AC_DEFINE(REPLACE_READDIR_GETDIRENTRIES,1,[replace readdir using getdirentries()])
-       LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdirentries.o"
-       libreplace_cv_READDIR_NEEDED=no
-fi
-
-#
-# try to replace with getdents() if needed
-#
-if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then
-AC_CHECK_FUNCS(getdents)
-AC_CACHE_CHECK([for replacing readdir using getdents()],libreplace_cv_READDIR_GETDENTS,[
-       AC_TRY_RUN([
-#define _LIBREPLACE_REPLACE_H
-#error _donot_use_getdents_replacement_anymore
-#include "$libreplacedir/repdir_getdents.c"
-#define test_readdir_os2_delete main
-#include "$libreplacedir/test/os2_delete.c"],
-       [libreplace_cv_READDIR_GETDENTS=yes],
-       [libreplace_cv_READDIR_GETDENTS=no])
-])
-fi
-if test x"$libreplace_cv_READDIR_GETDENTS" = x"yes"; then
-       AC_DEFINE(REPLACE_READDIR,1,[replace readdir])
-       AC_DEFINE(REPLACE_READDIR_GETDENTS,1,[replace readdir using getdents()])
-       LIBREPLACEOBJ="${LIBREPLACEOBJ} repdir_getdents.o"
-       libreplace_cv_READDIR_NEEDED=no
-fi
-
-AC_MSG_CHECKING([a usable readdir()])
-if test x"$libreplace_cv_READDIR_NEEDED" = x"yes"; then
-       AC_MSG_RESULT(no)
-       AC_MSG_WARN([the provided readdir() is broken])
-else
-       AC_MSG_RESULT(yes)
-fi
diff --git a/source4/lib/replace/repdir_getdents.c b/source4/lib/replace/repdir_getdents.c
deleted file mode 100644 (file)
index afc634a..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   Copyright (C) Andrew Tridgell 2005
-
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-/*
-  a replacement for opendir/readdir/telldir/seekdir/closedir for BSD systems
-
-  This is needed because the existing directory handling in FreeBSD
-  and OpenBSD (and possibly NetBSD) doesn't correctly handle unlink()
-  on files in a directory where telldir() has been used. On a block
-  boundary it will occasionally miss a file when seekdir() is used to
-  return to a position previously recorded with telldir().
-
-  This also fixes a severe performance and memory usage problem with
-  telldir() on BSD systems. Each call to telldir() in BSD adds an
-  entry to a linked list, and those entries are cleaned up on
-  closedir(). This means with a large directory closedir() can take an
-  arbitrary amount of time, causing network timeouts as millions of
-  telldir() entries are freed
-
-  Note! This replacement code is not portable. It relies on getdents()
-  always leaving the file descriptor at a seek offset that is a
-  multiple of DIR_BUF_SIZE. If the code detects that this doesn't
-  happen then it will abort(). It also does not handle directories
-  with offsets larger than can be stored in a long,
-
-  This code is available under other free software licenses as
-  well. Contact the author.
-*/
-
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <dirent.h>
-
-#define DIR_BUF_BITS 9
-#define DIR_BUF_SIZE (1<<DIR_BUF_BITS)
-
-struct dir_buf {
-       int fd;
-       int nbytes, ofs;
-       off_t seekpos;
-       char buf[DIR_BUF_SIZE];
-};
-
-DIR *opendir(const char *dname)
-{
-       struct dir_buf *d;
-       struct stat sb;
-       d = malloc(sizeof(*d));
-       if (d == NULL) {
-               errno = ENOMEM;
-               return NULL;
-       }
-       d->fd = open(dname, O_RDONLY);
-       if (d->fd == -1) {
-               free(d);
-               return NULL;
-       }
-       if (fstat(d->fd, &sb) < 0) {
-               close(d->fd);
-               free(d);
-               return NULL;
-       }
-       if (!S_ISDIR(sb.st_mode)) {
-               close(d->fd);
-               free(d);   
-               errno = ENOTDIR;
-               return NULL;
-       }
-       d->ofs = 0;
-       d->seekpos = 0;
-       d->nbytes = 0;
-       return (DIR *)d;
-}
-
-struct dirent *readdir(DIR *dir)
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       struct dirent *de;
-
-       if (d->ofs >= d->nbytes) {
-               d->seekpos = lseek(d->fd, 0, SEEK_CUR);
-               d->nbytes = getdents(d->fd, d->buf, DIR_BUF_SIZE);
-               d->ofs = 0;
-       }
-       if (d->ofs >= d->nbytes) {
-               return NULL;
-       }
-       de = (struct dirent *)&d->buf[d->ofs];
-       d->ofs += de->d_reclen;
-       return de;
-}
-
-long telldir(DIR *dir)
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       if (d->ofs >= d->nbytes) {
-               d->seekpos = lseek(d->fd, 0, SEEK_CUR);
-               d->ofs = 0;
-               d->nbytes = 0;
-       }
-       /* this relies on seekpos always being a multiple of
-          DIR_BUF_SIZE. Is that always true on BSD systems? */
-       if (d->seekpos & (DIR_BUF_SIZE-1)) {
-               abort();
-       }
-       return d->seekpos + d->ofs;
-}
-
-void seekdir(DIR *dir, long ofs)
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       d->seekpos = lseek(d->fd, ofs & ~(DIR_BUF_SIZE-1), SEEK_SET);
-       d->nbytes = getdents(d->fd, d->buf, DIR_BUF_SIZE);
-       d->ofs = 0;
-       while (d->ofs < (ofs & (DIR_BUF_SIZE-1))) {
-               if (readdir(dir) == NULL) break;
-       }
-}
-
-void rewinddir(DIR *dir)
-{
-       seekdir(dir, 0);
-}
-
-int closedir(DIR *dir)
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       int r = close(d->fd);
-       if (r != 0) {
-               return r;
-       }
-       free(d);
-       return 0;
-}
-
-#ifndef dirfd
-/* darn, this is a macro on some systems. */
-int dirfd(DIR *dir)
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       return d->fd;
-}
-#endif
diff --git a/source4/lib/replace/repdir_getdirentries.c b/source4/lib/replace/repdir_getdirentries.c
deleted file mode 100644 (file)
index 197e593..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   Copyright (C) Andrew Tridgell 2005
-
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-/*
-  a replacement for opendir/readdir/telldir/seekdir/closedir for BSD
-  systems using getdirentries
-
-  This is needed because the existing directory handling in FreeBSD
-  and OpenBSD (and possibly NetBSD) doesn't correctly handle unlink()
-  on files in a directory where telldir() has been used. On a block
-  boundary it will occasionally miss a file when seekdir() is used to
-  return to a position previously recorded with telldir().
-
-  This also fixes a severe performance and memory usage problem with
-  telldir() on BSD systems. Each call to telldir() in BSD adds an
-  entry to a linked list, and those entries are cleaned up on
-  closedir(). This means with a large directory closedir() can take an
-  arbitrary amount of time, causing network timeouts as millions of
-  telldir() entries are freed
-
-  Note! This replacement code is not portable. It relies on
-  getdirentries() always leaving the file descriptor at a seek offset
-  that is a multiple of DIR_BUF_SIZE. If the code detects that this
-  doesn't happen then it will abort(). It also does not handle
-  directories with offsets larger than can be stored in a long,
-
-  This code is available under other free software licenses as
-  well. Contact the author.
-*/
-
-#include "replace.h"
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <dirent.h>
-
-#define DIR_BUF_BITS 9
-#define DIR_BUF_SIZE (1<<DIR_BUF_BITS)
-
-struct dir_buf {
-       int fd;
-       int nbytes, ofs;
-       off_t seekpos;
-       char buf[DIR_BUF_SIZE];
-};
-
-DIR *opendir(const char *dname)
-{
-       struct dir_buf *d;
-       struct stat sb;
-       d = malloc(sizeof(*d));
-       if (d == NULL) {
-               errno = ENOMEM;
-               return NULL;
-       }
-       d->fd = open(dname, O_RDONLY);
-       if (d->fd == -1) {
-               free(d);
-               return NULL;
-       }
-       if (fstat(d->fd, &sb) < 0) {
-               close(d->fd);
-               free(d);
-               return NULL;
-       }
-       if (!S_ISDIR(sb.st_mode)) {
-               close(d->fd);
-               free(d);   
-               errno = ENOTDIR;
-               return NULL;
-       }
-       d->ofs = 0;
-       d->seekpos = 0;
-       d->nbytes = 0;
-       return (DIR *)d;
-}
-
-struct dirent *readdir(DIR *dir)
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       struct dirent *de;
-
-       if (d->ofs >= d->nbytes) {
-               long pos;
-               d->nbytes = getdirentries(d->fd, d->buf, DIR_BUF_SIZE, &pos);
-               d->seekpos = pos;
-               d->ofs = 0;
-       }
-       if (d->ofs >= d->nbytes) {
-               return NULL;
-       }
-       de = (struct dirent *)&d->buf[d->ofs];
-       d->ofs += de->d_reclen;
-       return de;
-}
-
-#ifdef TELLDIR_TAKES_CONST_DIR
-long telldir(const DIR *dir)
-#else
-long telldir(DIR *dir)
-#endif
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       if (d->ofs >= d->nbytes) {
-               d->seekpos = lseek(d->fd, 0, SEEK_CUR);
-               d->ofs = 0;
-               d->nbytes = 0;
-       }
-       /* this relies on seekpos always being a multiple of
-          DIR_BUF_SIZE. Is that always true on BSD systems? */
-       if (d->seekpos & (DIR_BUF_SIZE-1)) {
-               abort();
-       }
-       return d->seekpos + d->ofs;
-}
-
-#ifdef SEEKDIR_RETURNS_INT
-int seekdir(DIR *dir, long ofs)
-#else
-void seekdir(DIR *dir, long ofs)
-#endif
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       long pos;
-       d->seekpos = lseek(d->fd, ofs & ~(DIR_BUF_SIZE-1), SEEK_SET);
-       d->nbytes = getdirentries(d->fd, d->buf, DIR_BUF_SIZE, &pos);
-       d->ofs = 0;
-       while (d->ofs < (ofs & (DIR_BUF_SIZE-1))) {
-               if (readdir(dir) == NULL) break;
-       }
-#ifdef SEEKDIR_RETURNS_INT
-       return -1;
-#endif
-}
-
-void rewinddir(DIR *dir)
-{
-       seekdir(dir, 0);
-}
-
-int closedir(DIR *dir)
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       int r = close(d->fd);
-       if (r != 0) {
-               return r;
-       }
-       free(d);
-       return 0;
-}
-
-#ifndef dirfd
-/* darn, this is a macro on some systems. */
-int dirfd(DIR *dir)
-{
-       struct dir_buf *d = (struct dir_buf *)dir;
-       return d->fd;
-}
-#endif
-
-
diff --git a/source4/lib/replace/replace.c b/source4/lib/replace/replace.c
deleted file mode 100644 (file)
index 98d799b..0000000
+++ /dev/null
@@ -1,616 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-   replacement routines for broken systems
-   Copyright (C) Andrew Tridgell 1992-1998
-
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "replace.h"
-
-#include "system/filesys.h"
-#include "system/time.h"
-#include "system/passwd.h"
-#include "system/syslog.h"
-#include "system/locale.h"
-#include "system/wait.h"
-
-void replace_dummy(void);
-void replace_dummy(void) {}
-
-#ifndef HAVE_FTRUNCATE
- /*******************************************************************
-ftruncate for operating systems that don't have it
-********************************************************************/
-int rep_ftruncate(int f, off_t l)
-{
-#ifdef HAVE_CHSIZE
-      return chsize(f,l);
-#elif defined(F_FREESP)
-      struct  flock   fl;
-
-      fl.l_whence = 0;
-      fl.l_len = 0;
-      fl.l_start = l;
-      fl.l_type = F_WRLCK;
-      return fcntl(f, F_FREESP, &fl);
-#else
-#error "you must have a ftruncate function"
-#endif
-}
-#endif /* HAVE_FTRUNCATE */
-
-
-#ifndef HAVE_STRLCPY
-/* like strncpy but does not 0 fill the buffer and always null 
-   terminates. bufsize is the size of the destination buffer */
-size_t rep_strlcpy(char *d, const char *s, size_t bufsize)
-{
-       size_t len = strlen(s);
-       size_t ret = len;
-       if (bufsize <= 0) return 0;
-       if (len >= bufsize) len = bufsize-1;
-       memcpy(d, s, len);
-       d[len] = 0;
-       return ret;
-}
-#endif
-
-#ifndef HAVE_STRLCAT
-/* like strncat but does not 0 fill the buffer and always null 
-   terminates. bufsize is the length of the buffer, which should
-   be one more than the maximum resulting string length */
-size_t rep_strlcat(char *d, const char *s, size_t bufsize)
-{
-       size_t len1 = strlen(d);
-       size_t len2 = strlen(s);
-       size_t ret = len1 + len2;
-
-       if (len1+len2 >= bufsize) {
-               if (bufsize < (len1+1)) {
-                       return ret;
-               }
-               len2 = bufsize - (len1+1);
-       }
-       if (len2 > 0) {
-               memcpy(d+len1, s, len2);
-               d[len1+len2] = 0;
-       }
-       return ret;
-}
-#endif
-
-#ifndef HAVE_MKTIME
-/*******************************************************************
-a mktime() replacement for those who don't have it - contributed by 
-C.A. Lademann <cal@zls.com>
-Corrections by richard.kettlewell@kewill.com
-********************************************************************/
-
-#define  MINUTE  60
-#define  HOUR    60*MINUTE
-#define  DAY             24*HOUR
-#define  YEAR    365*DAY
-time_t rep_mktime(struct tm *t)
-{
-  struct tm       *u;
-  time_t  epoch = 0;
-  int n;
-  int             mon [] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
-  y, m, i;
-
-  if(t->tm_year < 70)
-    return((time_t)-1);
-
-  n = t->tm_year + 1900 - 1;
-  epoch = (t->tm_year - 70) * YEAR + 
-    ((n / 4 - n / 100 + n / 400) - (1969 / 4 - 1969 / 100 + 1969 / 400)) * DAY;
-
-  y = t->tm_year + 1900;
-  m = 0;
-
-  for(i = 0; i < t->tm_mon; i++) {
-    epoch += mon [m] * DAY;
-    if(m == 1 && y % 4 == 0 && (y % 100 != 0 || y % 400 == 0))
-      epoch += DAY;
-    
-    if(++m > 11) {
-      m = 0;
-      y++;
-    }
-  }
-
-  epoch += (t->tm_mday - 1) * DAY;
-  epoch += t->tm_hour * HOUR + t->tm_min * MINUTE + t->tm_sec;
-  
-  if((u = localtime(&epoch)) != NULL) {
-    t->tm_sec = u->tm_sec;
-    t->tm_min = u->tm_min;
-    t->tm_hour = u->tm_hour;
-    t->tm_mday = u->tm_mday;
-    t->tm_mon = u->tm_mon;
-    t->tm_year = u->tm_year;
-    t->tm_wday = u->tm_wday;
-    t->tm_yday = u->tm_yday;
-    t->tm_isdst = u->tm_isdst;
-  }
-
-  return(epoch);
-}
-#endif /* !HAVE_MKTIME */
-
-
-#ifndef HAVE_INITGROUPS
-/****************************************************************************
- some systems don't have an initgroups call 
-****************************************************************************/
-int rep_initgroups(char *name, gid_t id)
-{
-#ifndef HAVE_SETGROUPS
-       /* yikes! no SETGROUPS or INITGROUPS? how can this work? */
-       errno = ENOSYS;
-       return -1;
-#else /* HAVE_SETGROUPS */
-
-#include <grp.h>
-
-       gid_t *grouplst = NULL;
-       int max_gr = NGROUPS_MAX;
-       int ret;
-       int    i,j;
-       struct group *g;
-       char   *gr;
-       
-       if((grouplst = malloc(sizeof(gid_t) * max_gr)) == NULL) {
-               errno = ENOMEM;
-               return -1;
-       }
-
-       grouplst[0] = id;
-       i = 1;
-       while (i < max_gr && ((g = (struct group *)getgrent()) != (struct group *)NULL)) {
-               if (g->gr_gid == id)
-                       continue;
-               j = 0;
-               gr = g->gr_mem[0];
-               while (gr && (*gr != (char)NULL)) {
-                       if (strcmp(name,gr) == 0) {
-                               grouplst[i] = g->gr_gid;
-                               i++;
-                               gr = (char *)NULL;
-                               break;
-                       }
-                       gr = g->gr_mem[++j];
-               }
-       }
-       endgrent();
-       ret = setgroups(i, grouplst);
-       free(grouplst);
-       return ret;
-#endif /* HAVE_SETGROUPS */
-}
-#endif /* HAVE_INITGROUPS */
-
-
-#if (defined(SecureWare) && defined(SCO))
-/* This is needed due to needing the nap() function but we don't want
-   to include the Xenix libraries since that will break other things...
-   BTW: system call # 0x0c28 is the same as calling nap() */
-long nap(long milliseconds) {
-        return syscall(0x0c28, milliseconds);
- }
-#endif
-
-
-#ifndef HAVE_MEMMOVE
-/*******************************************************************
-safely copies memory, ensuring no overlap problems.
-this is only used if the machine does not have its own memmove().
-this is not the fastest algorithm in town, but it will do for our
-needs.
-********************************************************************/
-void *rep_memmove(void *dest,const void *src,int size)
-{
-       unsigned long d,s;
-       int i;
-       if (dest==src || !size) return(dest);
-
-       d = (unsigned long)dest;
-       s = (unsigned long)src;
-
-       if ((d >= (s+size)) || (s >= (d+size))) {
-               /* no overlap */
-               memcpy(dest,src,size);
-               return(dest);
-       }
-
-       if (d < s) {
-               /* we can forward copy */
-               if (s-d >= sizeof(int) && 
-                   !(s%sizeof(int)) && 
-                   !(d%sizeof(int)) && 
-                   !(size%sizeof(int))) {
-                       /* do it all as words */
-                       int *idest = (int *)dest;
-                       int *isrc = (int *)src;
-                       size /= sizeof(int);
-                       for (i=0;i<size;i++) idest[i] = isrc[i];
-               } else {
-                       /* simplest */
-                       char *cdest = (char *)dest;
-                       char *csrc = (char *)src;
-                       for (i=0;i<size;i++) cdest[i] = csrc[i];
-               }
-       } else {
-               /* must backward copy */
-               if (d-s >= sizeof(int) && 
-                   !(s%sizeof(int)) && 
-                   !(d%sizeof(int)) && 
-                   !(size%sizeof(int))) {
-                       /* do it all as words */
-                       int *idest = (int *)dest;
-                       int *isrc = (int *)src;
-                       size /= sizeof(int);
-                       for (i=size-1;i>=0;i--) idest[i] = isrc[i];
-               } else {
-                       /* simplest */
-                       char *cdest = (char *)dest;
-                       char *csrc = (char *)src;
-                       for (i=size-1;i>=0;i--) cdest[i] = csrc[i];
-               }      
-       }
-       return(dest);
-}
-#endif /* HAVE_MEMMOVE */
-
-#ifndef HAVE_STRDUP
-/****************************************************************************
-duplicate a string
-****************************************************************************/
-char *rep_strdup(const char *s)
-{
-       size_t len;
-       char *ret;
-
-       if (!s) return(NULL);
-
-       len = strlen(s)+1;
-       ret = (char *)malloc(len);
-       if (!ret) return(NULL);
-       memcpy(ret,s,len);
-       return(ret);
-}
-#endif /* HAVE_STRDUP */
-
-#ifndef HAVE_SETLINEBUF
-void rep_setlinebuf(FILE *stream)
-{
-       setvbuf(stream, (char *)NULL, _IOLBF, 0);
-}
-#endif /* HAVE_SETLINEBUF */
-
-#ifndef HAVE_VSYSLOG
-#ifdef HAVE_SYSLOG
-void rep_vsyslog (int facility_priority, const char *format, va_list arglist)
-{
-       char *msg = NULL;
-       vasprintf(&msg, format, arglist);
-       if (!msg)
-               return;
-       syslog(facility_priority, "%s", msg);
-       free(msg);
-}
-#endif /* HAVE_SYSLOG */
-#endif /* HAVE_VSYSLOG */
-
-#ifndef HAVE_STRNLEN
-/**
- Some platforms don't have strnlen
-**/
- size_t rep_strnlen(const char *s, size_t max)
-{
-        size_t len;
-  
-        for (len = 0; len < max; len++) {
-                if (s[len] == '\0') {
-                        break;
-                }
-        }
-        return len;  
-}
-#endif
-  
-#ifndef HAVE_STRNDUP
-/**
- Some platforms don't have strndup.
-**/
-char *rep_strndup(const char *s, size_t n)
-{
-       char *ret;
-       
-       n = strnlen(s, n);
-       ret = malloc(n+1);
-       if (!ret)
-               return NULL;
-       memcpy(ret, s, n);
-       ret[n] = 0;
-
-       return ret;
-}
-#endif
-
-#ifndef HAVE_WAITPID
-int rep_waitpid(pid_t pid,int *status,int options)
-{
-  return wait4(pid, status, options, NULL);
-}
-#endif
-
-#ifndef HAVE_SETEUID
-int rep_seteuid(uid_t euid)
-{
-#ifdef HAVE_SETRESUID
-       return setresuid(-1, euid, -1);
-#else
-#  error "You need a seteuid function"
-#endif
-}
-#endif
-
-#ifndef HAVE_SETEGID
-int rep_setegid(gid_t egid)
-{
-#ifdef HAVE_SETRESGID
-       return setresgid(-1, egid, -1);
-#else
-#  error "You need a setegid function"
-#endif
-}
-#endif
-
-/*******************************************************************
-os/2 also doesn't have chroot
-********************************************************************/
-#ifndef HAVE_CHROOT
-int rep_chroot(const char *dname)
-{
-       errno = ENOSYS;
-       return -1;
-}
-#endif
-
-/*****************************************************************
- Possibly replace mkstemp if it is broken.
-*****************************************************************/  
-
-#ifndef HAVE_SECURE_MKSTEMP
-int rep_mkstemp(char *template)
-{
-       /* have a reasonable go at emulating it. Hope that
-          the system mktemp() isn't completly hopeless */
-       char *p = mktemp(template);
-       if (!p)
-               return -1;
-       return open(p, O_CREAT|O_EXCL|O_RDWR, 0600);
-}
-#endif
-
-#ifndef HAVE_MKDTEMP
-char *rep_mkdtemp(char *template)
-{
-       char *dname;
-       
-       if ((dname = mktemp(template))) {
-               if (mkdir(dname, 0700) >= 0) {
-                       return dname;
-               }
-       }
-
-       return NULL;
-}
-#endif
-
-/*****************************************************************
- Watch out: this is not thread safe.
-*****************************************************************/
-
-#ifndef HAVE_PREAD
-ssize_t rep_pread(int __fd, void *__buf, size_t __nbytes, off_t __offset)
-{
-       if (lseek(__fd, __offset, SEEK_SET) != __offset) {
-               return -1;
-       }
-       return read(__fd, __buf, __nbytes);
-}
-#endif
-
-/*****************************************************************
- Watch out: this is not thread safe.
-*****************************************************************/
-
-#ifndef HAVE_PWRITE
-ssize_t rep_pwrite(int __fd, const void *__buf, size_t __nbytes, off_t __offset)
-{
-       if (lseek(__fd, __offset, SEEK_SET) != __offset) {
-               return -1;
-       }
-       return write(__fd, __buf, __nbytes);
-}
-#endif
-
-#ifndef HAVE_STRCASESTR
-char *rep_strcasestr(const char *haystack, const char *needle)
-{
-       const char *s;
-       size_t nlen = strlen(needle);
-       for (s=haystack;*s;s++) {
-               if (toupper(*needle) == toupper(*s) &&
-                   strncasecmp(s, needle, nlen) == 0) {
-                       return (char *)((uintptr_t)s);
-               }
-       }
-       return NULL;
-}
-#endif
-
-#ifndef HAVE_STRTOK_R
-/* based on GLIBC version, copyright Free Software Foundation */
-char *rep_strtok_r(char *s, const char *delim, char **save_ptr)
-{
-       char *token;
-
-       if (s == NULL) s = *save_ptr;
-
-       s += strspn(s, delim);
-       if (*s == '\0') {
-               *save_ptr = s;
-               return NULL;
-       }
-
-       token = s;
-       s = strpbrk(token, delim);
-       if (s == NULL) {
-               *save_ptr = token + strlen(token);
-       } else {
-               *s = '\0';
-               *save_ptr = s + 1;
-       }
-
-       return token;
-}
-#endif
-
-#ifndef HAVE_STRTOLL
-long long int rep_strtoll(const char *str, char **endptr, int base)
-{
-#ifdef HAVE_STRTOQ
-       return strtoq(str, endptr, base);
-#elif defined(HAVE___STRTOLL) 
-       return __strtoll(str, endptr, base);
-#elif SIZEOF_LONG == SIZEOF_LONG_LONG
-       return (long long int) strtol(str, endptr, base);
-#else
-# error "You need a strtoll function"
-#endif
-}
-#endif
-
-
-#ifndef HAVE_STRTOULL
-unsigned long long int rep_strtoull(const char *str, char **endptr, int base)
-{
-#ifdef HAVE_STRTOUQ
-       return strtouq(str, endptr, base);
-#elif defined(HAVE___STRTOULL) 
-       return __strtoull(str, endptr, base);
-#elif SIZEOF_LONG == SIZEOF_LONG_LONG
-       return (unsigned long long int) strtoul(str, endptr, base);
-#else
-# error "You need a strtoull function"
-#endif
-}
-#endif
-
-#ifndef HAVE_SETENV
-int rep_setenv(const char *name, const char *value, int overwrite) 
-{
-       char *p;
-       size_t l1, l2;
-       int ret;
-
-       if (!overwrite && getenv(name)) {
-               return 0;
-       }
-
-       l1 = strlen(name);
-       l2 = strlen(value);
-
-       p = malloc(l1+l2+2);
-       if (p == NULL) {
-               return -1;
-       }
-       memcpy(p, name, l1);
-       p[l1] = '=';
-       memcpy(p+l1+1, value, l2);
-       p[l1+l2+1] = 0;
-
-       ret = putenv(p);
-       if (ret != 0) {
-               free(p);
-       }
-
-       return ret;
-}
-#endif
-
-#ifndef HAVE_UNSETENV
-int rep_unsetenv(const char *name)
-{
-       extern char **environ;
-       size_t len = strlen(name);
-       size_t i, count;
-
-       if (environ == NULL || getenv(name) == NULL) {
-               return 0;
-       }
-
-       for (i=0;environ[i];i++) /* noop */ ;
-
-       count=i;
-       
-       for (i=0;i<count;) {
-               if (strncmp(environ[i], name, len) == 0 && environ[i][len] == '=') {
-                       /* note: we do _not_ free the old variable here. It is unsafe to 
-                          do so, as the pointer may not have come from malloc */
-                       memmove(&environ[i], &environ[i+1], (count-i)*sizeof(char *));
-                       count--;
-               } else {
-                       i++;
-               }
-       }
-
-       return 0;
-}
-#endif
-
-#ifndef HAVE_UTIME
-int rep_utime(const char *filename, const struct utimbuf *buf)
-{
-       errno = ENOSYS;
-       return -1;
-}
-#endif
-
-#ifndef HAVE_UTIMES
-int rep_utimes(const char *filename, const struct timeval tv[2])
-{
-       struct utimbuf u;
-
-       u.actime = tv[0].tv_sec;
-       if (tv[0].tv_usec > 500000) {
-               u.actime += 1;
-       }
-
-       u.modtime = tv[1].tv_sec;
-       if (tv[1].tv_usec > 500000) {
-               u.modtime += 1;
-       }
-
-       return utime(filename, &u);
-}
-#endif
diff --git a/source4/lib/replace/replace.h b/source4/lib/replace/replace.h
deleted file mode 100644 (file)
index c69ea6c..0000000
+++ /dev/null
@@ -1,582 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-
-   macros to go along with the lib/replace/ portability layer code
-
-   Copyright (C) Andrew Tridgell 2005
-   Copyright (C) Jelmer Vernooij 2006
-   Copyright (C) Jeremy Allison 2007.
-
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef _LIBREPLACE_REPLACE_H
-#define _LIBREPLACE_REPLACE_H
-
-#ifndef NO_CONFIG_H
-#include "config.h"
-#endif
-
-#ifdef HAVE_STANDARDS_H
-#include <standards.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <errno.h>
-
-#if defined(_MSC_VER) || defined(__MINGW32__)
-#include "win32_replace.h"
-#endif
-
-
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-/* force off HAVE_INTTYPES_H so that roken doesn't try to include both,
-   which causes a warning storm on irix */
-#undef HAVE_INTTYPES_H
-#elif HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-
-#ifndef HAVE_STRERROR
-extern char *sys_errlist[];
-#define strerror(i) sys_errlist[i]
-#endif
-
-#ifndef HAVE_ERRNO_DECL
-extern int errno;
-#endif
-
-#ifndef HAVE_STRDUP
-#define strdup rep_strdup
-char *rep_strdup(const char *s);
-#endif
-
-#ifndef HAVE_MEMMOVE
-#define memmove rep_memmove
-void *rep_memmove(void *dest,const void *src,int size);
-#endif
-
-#ifndef HAVE_MKTIME
-#define mktime rep_mktime
-/* prototype is in "system/time.h" */
-#endif
-
-#ifndef HAVE_TIMEGM
-#define timegm rep_timegm
-/* prototype is in "system/time.h" */
-#endif
-
-#ifndef HAVE_UTIME
-#define utime rep_utime
-/* prototype is in "system/time.h" */
-#endif
-
-#ifndef HAVE_UTIMES
-#define utimes rep_utimes
-/* prototype is in "system/time.h" */
-#endif
-
-#ifndef HAVE_STRLCPY
-#define strlcpy rep_strlcpy
-size_t rep_strlcpy(char *d, const char *s, size_t bufsize);
-#endif
-
-#ifndef HAVE_STRLCAT
-#define strlcat rep_strlcat
-size_t rep_strlcat(char *d, const char *s, size_t bufsize);
-#endif
-
-#if (defined(BROKEN_STRNDUP) || !defined(HAVE_STRNDUP))
-#undef HAVE_STRNDUP
-#define strndup rep_strndup
-char *rep_strndup(const char *s, size_t n);
-#endif
-
-#if (defined(BROKEN_STRNLEN) || !defined(HAVE_STRNLEN))
-#undef HAVE_STRNLEN
-#define strnlen rep_strnlen
-size_t rep_strnlen(const char *s, size_t n);
-#endif
-
-#ifndef HAVE_SETENV
-#define setenv rep_setenv
-int rep_setenv(const char *name, const char *value, int overwrite);
-#else
-#ifndef HAVE_SETENV_DECL
-int setenv(const char *name, const char *value, int overwrite);
-#endif
-#endif
-
-#ifndef HAVE_UNSETENV
-#define unsetenv rep_unsetenv
-int rep_unsetenv(const char *name);
-#endif
-
-#ifndef HAVE_SETEUID
-#define seteuid rep_seteuid
-int rep_seteuid(uid_t);
-#endif
-
-#ifndef HAVE_SETEGID
-#define setegid rep_setegid
-int rep_setegid(gid_t);
-#endif
-
-#ifndef HAVE_SETLINEBUF
-#define setlinebuf rep_setlinebuf
-void rep_setlinebuf(FILE *);
-#endif
-
-#ifndef HAVE_STRCASESTR
-#define strcasestr rep_strcasestr
-char *rep_strcasestr(const char *haystack, const char *needle);
-#endif
-
-#ifndef HAVE_STRTOK_R
-#define strtok_r rep_strtok_r
-char *rep_strtok_r(char *s, const char *delim, char **save_ptr);
-#endif
-
-#ifndef HAVE_STRTOLL
-#define strtoll rep_strtoll
-long long int rep_strtoll(const char *str, char **endptr, int base);
-#endif
-
-#ifndef HAVE_STRTOULL
-#define strtoull rep_strtoull
-unsigned long long int rep_strtoull(const char *str, char **endptr, int base);
-#endif
-
-#ifndef HAVE_FTRUNCATE
-#define ftruncate rep_ftruncate
-int rep_ftruncate(int,off_t);
-#endif
-
-#ifndef HAVE_INITGROUPS
-#define initgroups rep_initgroups
-int rep_initgroups(char *name, gid_t id);
-#endif
-
-#if !defined(HAVE_BZERO) && defined(HAVE_MEMSET)
-#define bzero(a,b) memset((a),'\0',(b))
-#endif
-
-#ifndef HAVE_DLERROR
-#define dlerror rep_dlerror
-char *rep_dlerror(void);
-#endif
-
-#ifndef HAVE_DLOPEN
-#define dlopen rep_dlopen
-#ifdef DLOPEN_TAKES_UNSIGNED_FLAGS
-void *rep_dlopen(const char *name, unsigned int flags);
-#else
-void *rep_dlopen(const char *name, int flags);
-#endif
-#endif
-
-#ifndef HAVE_DLSYM
-#define dlsym rep_dlsym
-void *rep_dlsym(void *handle, const char *symbol);
-#endif
-
-#ifndef HAVE_DLCLOSE
-#define dlclose rep_dlclose
-int rep_dlclose(void *handle);
-#endif
-
-#ifndef HAVE_SOCKETPAIR
-#define socketpair rep_socketpair
-/* prototype is in system/network.h */
-#endif
-
-#ifndef PRINTF_ATTRIBUTE
-#if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1 )
-/** Use gcc attribute to check printf fns.  a1 is the 1-based index of
- * the parameter containing the format, and a2 the index of the first
- * argument. Note that some gcc 2.x versions don't handle this
- * properly **/
-#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (__printf__, a1, a2)))
-#else
-#define PRINTF_ATTRIBUTE(a1, a2)
-#endif
-#endif
-
-#ifndef _DEPRECATED_
-#if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1 )
-#define _DEPRECATED_ __attribute__ ((deprecated))
-#else
-#define _DEPRECATED_
-#endif
-#endif
-
-#ifndef HAVE_VASPRINTF
-#define vasprintf rep_vasprintf
-int rep_vasprintf(char **ptr, const char *format, va_list ap) PRINTF_ATTRIBUTE(2,0);
-#endif
-
-#if !defined(HAVE_SNPRINTF) || !defined(HAVE_C99_VSNPRINTF)
-#define snprintf rep_snprintf
-int rep_snprintf(char *,size_t ,const char *, ...) PRINTF_ATTRIBUTE(3,4);
-#endif
-
-#if !defined(HAVE_VSNPRINTF) || !defined(HAVE_C99_VSNPRINTF)
-#define vsnprintf rep_vsnprintf
-int rep_vsnprintf(char *,size_t ,const char *, va_list ap) PRINTF_ATTRIBUTE(3,0);
-#endif
-
-#ifndef HAVE_ASPRINTF
-#define asprintf rep_asprintf
-int rep_asprintf(char **,const char *, ...) PRINTF_ATTRIBUTE(2,3);
-#endif
-
-#ifndef HAVE_VSYSLOG
-#ifdef HAVE_SYSLOG
-#define vsyslog rep_vsyslog
-void rep_vsyslog (int facility_priority, const char *format, va_list arglist) PRINTF_ATTRIBUTE(2,0);
-#endif
-#endif
-
-/* we used to use these fns, but now we have good replacements
-   for snprintf and vsnprintf */
-#define slprintf snprintf
-
-
-#ifndef HAVE_VA_COPY
-#undef va_copy
-#ifdef HAVE___VA_COPY
-#define va_copy(dest, src) __va_copy(dest, src)
-#else
-#define va_copy(dest, src) (dest) = (src)
-#endif
-#endif
-
-#ifndef HAVE_VOLATILE
-#define volatile
-#endif
-
-#ifndef HAVE_COMPARISON_FN_T
-typedef int (*comparison_fn_t)(const void *, const void *);
-#endif
-
-#ifdef REPLACE_STRPTIME
-#define strptime rep_strptime
-struct tm;
-char *rep_strptime(const char *buf, const char *format, struct tm *tm);
-#endif
-
-/* Load header file for dynamic linking stuff */
-#ifdef HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#ifndef RTLD_LAZY
-#define RTLD_LAZY 0
-#endif
-#ifndef RTLD_NOW
-#define RTLD_NOW 0
-#endif
-#ifndef RTLD_GLOBAL
-#define RTLD_GLOBAL 0
-#endif
-
-#ifndef HAVE_SECURE_MKSTEMP
-#define mkstemp(path) rep_mkstemp(path)
-int rep_mkstemp(char *temp);
-#endif
-
-#ifndef HAVE_MKDTEMP
-#define mkdtemp rep_mkdtemp
-char *rep_mkdtemp(char *template);
-#endif
-
-#ifndef HAVE_PREAD
-#define pread rep_pread
-ssize_t rep_pread(int __fd, void *__buf, size_t __nbytes, off_t __offset);
-#endif
-
-#ifndef HAVE_PWRITE
-#define pwrite rep_pwrite
-ssize_t rep_pwrite(int __fd, const void *__buf, size_t __nbytes, off_t __offset);
-#endif
-
-#if !defined(HAVE_INET_NTOA) || defined(REPLACE_INET_NTOA)
-#define inet_ntoa rep_inet_ntoa
-/* prototype is in "system/network.h" */
-#endif
-
-#ifndef HAVE_INET_PTON
-#define inet_pton rep_inet_pton
-/* prototype is in "system/network.h" */
-#endif
-
-#ifndef HAVE_INET_NTOP
-#define inet_ntop rep_inet_ntop
-/* prototype is in "system/network.h" */
-#endif
-
-#ifndef HAVE_INET_ATON
-#define inet_aton rep_inet_aton
-/* prototype is in "system/network.h" */
-#endif
-
-#ifndef HAVE_CONNECT
-#define connect rep_connect
-/* prototype is in "system/network.h" */
-#endif
-
-#ifndef HAVE_GETHOSTBYNAME
-#define gethostbyname rep_gethostbyname
-/* prototype is in "system/network.h" */
-#endif
-
-#ifndef HAVE_GETIFADDRS
-#define getifaddrs rep_getifaddrs
-/* prototype is in "system/network.h" */
-#endif
-
-#ifndef HAVE_FREEIFADDRS
-#define freeifaddrs rep_freeifaddrs
-/* prototype is in "system/network.h" */
-#endif
-
-#ifdef HAVE_LIMITS_H
-#include <limits.h>
-#endif
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-/* The extra casts work around common compiler bugs.  */
-#define _TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
-/* The outer cast is needed to work around a bug in Cray C 5.0.3.0.
-   It is necessary at least when t == time_t.  */
-#define _TYPE_MINIMUM(t) ((t) (_TYPE_SIGNED (t) \
-                             ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
-#define _TYPE_MAXIMUM(t) ((t) (~ (t) 0 - _TYPE_MINIMUM (t)))
-
-#ifndef HOST_NAME_MAX
-#define HOST_NAME_MAX 255
-#endif
-
-/*
- * Some older systems seem not to have MAXHOSTNAMELEN
- * defined.
- */
-#ifndef MAXHOSTNAMELEN
-#define MAXHOSTNAMELEN HOST_NAME_MAX
-#endif
-
-#ifndef UINT16_MAX
-#define UINT16_MAX 65535
-#endif
-
-#ifndef UINT32_MAX
-#define UINT32_MAX (4294967295U)
-#endif
-
-#ifndef UINT64_MAX
-#define UINT64_MAX ((uint64_t)-1)
-#endif
-
-#ifndef CHAR_BIT
-#define CHAR_BIT 8
-#endif
-
-#ifndef INT32_MAX
-#define INT32_MAX _TYPE_MAXIMUM(int32_t)
-#endif
-
-#ifdef HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-
-#if !defined(HAVE_BOOL)
-#ifdef HAVE__Bool
-#define bool _Bool
-#else
-typedef int bool;
-#endif
-#endif
-
-/*
- * to prevent <rpcsvc/yp_prot.h> from doing a redefine of 'bool'
- *
- * IRIX, HPUX, MacOS 10 and Solaris need BOOL_DEFINED
- * Tru64 needs _BOOL_EXISTS
- * AIX needs _BOOL,_TRUE,_FALSE
- */
-#ifndef BOOL_DEFINED
-#define BOOL_DEFINED
-#endif
-#ifndef _BOOL_EXISTS
-#define _BOOL_EXISTS
-#endif
-#ifndef _BOOL
-#define _BOOL
-#endif
-
-#ifndef __bool_true_false_are_defined
-#define __bool_true_false_are_defined
-#endif
-
-#ifndef true
-#define true (1)
-#endif
-#ifndef false
-#define false (0)
-#endif
-
-#ifndef _TRUE
-#define _TRUE true
-#endif
-#ifndef _FALSE
-#define _FALSE false
-#endif
-
-#ifndef HAVE_FUNCTION_MACRO
-#ifdef HAVE_func_MACRO
-#define __FUNCTION__ __func__
-#else
-#define __FUNCTION__ ("")
-#endif
-#endif
-
-
-#ifndef MIN
-#define MIN(a,b) ((a)<(b)?(a):(b))
-#endif
-
-#ifndef MAX
-#define MAX(a,b) ((a)>(b)?(a):(b))
-#endif
-
-#if !defined(HAVE_VOLATILE)
-#define volatile
-#endif
-
-/**
-  this is a warning hack. The idea is to use this everywhere that we
-  get the "discarding const" warning from gcc. That doesn't actually
-  fix the problem of course, but it means that when we do get to
-  cleaning them up we can do it by searching the code for
-  discard_const.
-
-  It also means that other error types aren't as swamped by the noise
-  of hundreds of const warnings, so we are more likely to notice when
-  we get new errors.
-
-  Please only add more uses of this macro when you find it
-  _really_ hard to fix const warnings. Our aim is to eventually use
-  this function in only a very few places.
-
-  Also, please call this via the discard_const_p() macro interface, as that
-  makes the return type safe.
-*/
-#define discard_const(ptr) ((void *)((uintptr_t)(ptr)))
-
-/** Type-safe version of discard_const */
-#define discard_const_p(type, ptr) ((type *)discard_const(ptr))
-
-#ifndef __STRING
-#define __STRING(x)    #x
-#endif
-
-#ifndef __STRINGSTRING
-#define __STRINGSTRING(x) __STRING(x)
-#endif
-
-#ifndef __LINESTR__
-#define __LINESTR__ __STRINGSTRING(__LINE__)
-#endif
-
-#ifndef __location__
-#define __location__ __FILE__ ":" __LINESTR__
-#endif
-
-/** 
- * zero a structure 
- */
-#define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x))
-
-/** 
- * zero a structure given a pointer to the structure 
- */
-#define ZERO_STRUCTP(x) do { if ((x) != NULL) memset((char *)(x), 0, sizeof(*(x))); } while(0)
-
-/** 
- * zero a structure given a pointer to the structure - no zero check 
- */
-#define ZERO_STRUCTPN(x) memset((char *)(x), 0, sizeof(*(x)))
-
-/* zero an array - note that sizeof(array) must work - ie. it must not be a
-   pointer */
-#define ZERO_ARRAY(x) memset((char *)(x), 0, sizeof(x))
-
-/**
- * work out how many elements there are in a static array 
- */
-#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
-
-/** 
- * pointer difference macro 
- */
-#define PTR_DIFF(p1,p2) ((ptrdiff_t)(((const char *)(p1)) - (const char *)(p2)))
-
-#if MMAP_BLACKLIST
-#undef HAVE_MMAP
-#endif
-
-#ifdef __COMPAR_FN_T
-#define QSORT_CAST (__compar_fn_t)
-#endif
-
-#ifndef QSORT_CAST
-#define QSORT_CAST (int (*)(const void *, const void *))
-#endif
-
-#ifndef PATH_MAX
-#define PATH_MAX 1024
-#endif
-
-#ifndef MAX_DNS_NAME_LENGTH
-#define MAX_DNS_NAME_LENGTH 256 /* Actually 255 but +1 for terminating null. */
-#endif
-
-#endif /* _LIBREPLACE_REPLACE_H */
diff --git a/source4/lib/replace/samba.m4 b/source4/lib/replace/samba.m4
deleted file mode 100644 (file)
index 07c4d38..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-AC_LIBREPLACE_BROKEN_CHECKS
-AC_LIBREPLACE_NETWORK_CHECKS
-
-SMB_EXT_LIB(LIBREPLACE_EXT, [${LIBDL}])
-SMB_ENABLE(LIBREPLACE_EXT)
-
-SMB_EXT_LIB(LIBREPLACE_NETWORK, [${LIBREPLACE_NETWORK_LIBS}])
-SMB_ENABLE(LIBREPLACE_NETWORK)
-
-# remove leading ./
-LIBREPLACE_DIR=`echo ${libreplacedir} |sed -e 's/^\.\///g'`
-
-# remove leading srcdir .. we are looking for the relative
-# path within the samba source tree or wherever libreplace is.
-# We need to make sure the object is not forced to end up in
-# the source directory because we might be using a separate
-# build directory.
-LIBREPLACE_DIR=`echo ${LIBREPLACE_DIR} | sed -e "s|^$srcdir/||g"`
-
-LIBREPLACE_OBJS=""
-for obj in ${LIBREPLACEOBJ}; do
-       LIBREPLACE_OBJS="${LIBREPLACE_OBJS} ${LIBREPLACE_DIR}/${obj}"
-done
-
-SMB_SUBSYSTEM(LIBREPLACE,
-       [${LIBREPLACE_OBJS}],
-       [LIBREPLACE_EXT LIBREPLACE_NETWORK],
-       [-Ilib/replace])
-
-LIBREPLACE_HOSTCC_OBJS=`echo ${LIBREPLACE_OBJS} |sed -e 's/\.o/\.ho/g'`
-
-SMB_SUBSYSTEM(LIBREPLACE_HOSTCC,
-       [${LIBREPLACE_HOSTCC_OBJS}],
-       [],
-       [-Ilib/replace])
diff --git a/source4/lib/replace/snprintf.c b/source4/lib/replace/snprintf.c
deleted file mode 100644 (file)
index c54d721..0000000
+++ /dev/null
@@ -1,1530 +0,0 @@
-/*
- * NOTE: If you change this file, please merge it into rsync, samba, etc.
- */
-
-/*
- * Copyright Patrick Powell 1995
- * This code is based on code written by Patrick Powell (papowell@astart.com)
- * It may be used for any purpose as long as this notice remains intact
- * on all source code distributions
- */
-
-/**************************************************************
- * Original:
- * Patrick Powell Tue Apr 11 09:48:21 PDT 1995
- * A bombproof version of doprnt (dopr) included.
- * Sigh.  This sort of thing is always nasty do deal with.  Note that
- * the version here does not include floating point...
- *
- * snprintf() is used instead of sprintf() as it does limit checks
- * for string length.  This covers a nasty loophole.
- *
- * The other functions are there to prevent NULL pointers from
- * causing nast effects.
- *
- * More Recently:
- *  Brandon Long <blong@fiction.net> 9/15/96 for mutt 0.43
- *  This was ugly.  It is still ugly.  I opted out of floating point
- *  numbers, but the formatter understands just about everything
- *  from the normal C string format, at least as far as I can tell from
- *  the Solaris 2.5 printf(3S) man page.
- *
- *  Brandon Long <blong@fiction.net> 10/22/97 for mutt 0.87.1
- *    Ok, added some minimal floating point support, which means this
- *    probably requires libm on most operating systems.  Don't yet
- *    support the exponent (e,E) and sigfig (g,G).  Also, fmtint()
- *    was pretty badly broken, it just wasn't being exercised in ways
- *    which showed it, so that's been fixed.  Also, formated the code
- *    to mutt conventions, and removed dead code left over from the
- *    original.  Also, there is now a builtin-test, just compile with:
- *           gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm
- *    and run snprintf for results.
- * 
- *  Thomas Roessler <roessler@guug.de> 01/27/98 for mutt 0.89i
- *    The PGP code was using unsigned hexadecimal formats. 
- *    Unfortunately, unsigned formats simply didn't work.
- *
- *  Michael Elkins <me@cs.hmc.edu> 03/05/98 for mutt 0.90.8
- *    The original code assumed that both snprintf() and vsnprintf() were
- *    missing.  Some systems only have snprintf() but not vsnprintf(), so
- *    the code is now broken down under HAVE_SNPRINTF and HAVE_VSNPRINTF.
- *
- *  Andrew Tridgell (tridge@samba.org) Oct 1998
- *    fixed handling of %.0f
- *    added test for HAVE_LONG_DOUBLE
- *
- * tridge@samba.org, idra@samba.org, April 2001
- *    got rid of fcvt code (twas buggy and made testing harder)
- *    added C99 semantics
- *
- * date: 2002/12/19 19:56:31;  author: herb;  state: Exp;  lines: +2 -0
- * actually print args for %g and %e
- * 
- * date: 2002/06/03 13:37:52;  author: jmcd;  state: Exp;  lines: +8 -0
- * Since includes.h isn't included here, VA_COPY has to be defined here.  I don't
- * see any include file that is guaranteed to be here, so I'm defining it
- * locally.  Fixes AIX and Solaris builds.
- * 
- * date: 2002/06/03 03:07:24;  author: tridge;  state: Exp;  lines: +5 -13
- * put the ifdef for HAVE_VA_COPY in one place rather than in lots of
- * functions
- * 
- * date: 2002/05/17 14:51:22;  author: jmcd;  state: Exp;  lines: +21 -4
- * Fix usage of va_list passed as an arg.  Use __va_copy before using it
- * when it exists.
- * 
- * date: 2002/04/16 22:38:04;  author: idra;  state: Exp;  lines: +20 -14
- * Fix incorrect zpadlen handling in fmtfp.
- * Thanks to Ollie Oldham <ollie.oldham@metro-optix.com> for spotting it.
- * few mods to make it easier to compile the tests.
- * addedd the "Ollie" test to the floating point ones.
- *
- * Martin Pool (mbp@samba.org) April 2003
- *    Remove NO_CONFIG_H so that the test case can be built within a source
- *    tree with less trouble.
- *    Remove unnecessary SAFE_FREE() definition.
- *
- * Martin Pool (mbp@samba.org) May 2003
- *    Put in a prototype for dummy_snprintf() to quiet compiler warnings.
- *
- *    Move #endif to make sure VA_COPY, LDOUBLE, etc are defined even
- *    if the C library has some snprintf functions already.
- *
- * Darren Tucker (dtucker@zip.com.au) 2005
- *    Fix bug allowing read overruns of the source string with "%.*s"
- *    Usually harmless unless the read runs outside the process' allocation
- *    (eg if your malloc does guard pages) in which case it will segfault.
- *    From OpenSSH.  Also added test for same.
- *
- * Simo Sorce (idra@samba.org) Jan 2006
- * 
- *    Add support for position independent parameters 
- *    fix fmtstr now it conforms to sprintf wrt min.max
- *
- **************************************************************/
-
-#include "replace.h"
-#include "system/locale.h"
-
-#ifdef TEST_SNPRINTF /* need math library headers for testing */
-
-/* In test mode, we pretend that this system doesn't have any snprintf
- * functions, regardless of what config.h says. */
-#  undef HAVE_SNPRINTF
-#  undef HAVE_VSNPRINTF
-#  undef HAVE_C99_VSNPRINTF
-#  undef HAVE_ASPRINTF
-#  undef HAVE_VASPRINTF
-#  include <math.h>
-#endif /* TEST_SNPRINTF */
-
-#if defined(HAVE_SNPRINTF) && defined(HAVE_VSNPRINTF) && defined(HAVE_C99_VSNPRINTF)
-/* only include stdio.h if we are not re-defining snprintf or vsnprintf */
-#include <stdio.h>
- /* make the compiler happy with an empty file */
- void dummy_snprintf(void);
- void dummy_snprintf(void) {} 
-#endif /* HAVE_SNPRINTF, etc */
-
-/* yes this really must be a ||. Don't muck with this (tridge) */
-#if !defined(HAVE_VSNPRINTF) || !defined(HAVE_C99_VSNPRINTF)
-
-#ifdef HAVE_LONG_DOUBLE
-#define LDOUBLE long double
-#else
-#define LDOUBLE double
-#endif
-
-#ifdef HAVE_LONG_LONG
-#define LLONG long long
-#else
-#define LLONG long
-#endif
-
-#ifndef VA_COPY
-#ifdef HAVE_VA_COPY
-#define VA_COPY(dest, src) va_copy(dest, src)
-#else
-#ifdef HAVE___VA_COPY
-#define VA_COPY(dest, src) __va_copy(dest, src)
-#else
-#define VA_COPY(dest, src) (dest) = (src)
-#endif
-#endif
-
-/*
- * dopr(): poor man's version of doprintf
- */
-
-/* format read states */
-#define DP_S_DEFAULT 0
-#define DP_S_FLAGS   1
-#define DP_S_MIN     2
-#define DP_S_DOT     3
-#define DP_S_MAX     4
-#define DP_S_MOD     5
-#define DP_S_CONV    6
-#define DP_S_DONE    7
-
-/* format flags - Bits */
-#define DP_F_MINUS     (1 << 0)
-#define DP_F_PLUS      (1 << 1)
-#define DP_F_SPACE     (1 << 2)
-#define DP_F_NUM       (1 << 3)
-#define DP_F_ZERO      (1 << 4)
-#define DP_F_UP        (1 << 5)
-#define DP_F_UNSIGNED  (1 << 6)
-
-/* Conversion Flags */
-#define DP_C_CHAR    1
-#define DP_C_SHORT   2
-#define DP_C_LONG    3
-#define DP_C_LDOUBLE 4
-#define DP_C_LLONG   5
-#define DP_C_SIZET   6
-
-/* Chunk types */
-#define CNK_FMT_STR 0
-#define CNK_INT     1
-#define CNK_OCTAL   2
-#define CNK_UINT    3
-#define CNK_HEX     4
-#define CNK_FLOAT   5
-#define CNK_CHAR    6
-#define CNK_STRING  7
-#define CNK_PTR     8
-#define CNK_NUM     9
-#define CNK_PRCNT   10
-
-#define char_to_int(p) ((p)- '0')
-#ifndef MAX
-#define MAX(p,q) (((p) >= (q)) ? (p) : (q))
-#endif
-
-struct pr_chunk {
-       int type; /* chunk type */
-       int num; /* parameter number */
-       int min; 
-       int max;
-       int flags;
-       int cflags;
-       int start;
-       int len;
-       LLONG value;
-       LDOUBLE fvalue;
-       char *strvalue;
-       void *pnum;
-       struct pr_chunk *min_star;
-       struct pr_chunk *max_star;
-       struct pr_chunk *next;
-};
-
-struct pr_chunk_x {
-       struct pr_chunk **chunks;
-       int num;
-};
-
-static int dopr(char *buffer, size_t maxlen, const char *format, 
-                  va_list args_in);
-static void fmtstr(char *buffer, size_t *currlen, size_t maxlen,
-                   char *value, int flags, int min, int max);
-static void fmtint(char *buffer, size_t *currlen, size_t maxlen,
-                   LLONG value, int base, int min, int max, int flags);
-static void fmtfp(char *buffer, size_t *currlen, size_t maxlen,
-                  LDOUBLE fvalue, int min, int max, int flags);
-static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c);
-static struct pr_chunk *new_chunk(void);
-static int add_cnk_list_entry(struct pr_chunk_x **list,
-                               int max_num, struct pr_chunk *chunk);
-
-static int dopr(char *buffer, size_t maxlen, const char *format, va_list args_in)
-{
-       char ch;
-       int state;
-       int pflag;
-       int pnum;
-       int pfirst;
-       size_t currlen;
-       va_list args;
-       const char *base;
-       struct pr_chunk *chunks = NULL;
-       struct pr_chunk *cnk = NULL;
-       struct pr_chunk_x *clist = NULL;
-       int max_pos;
-       int ret = -1;
-
-       VA_COPY(args, args_in);
-
-       state = DP_S_DEFAULT;
-       pfirst = 1;
-       pflag = 0;
-       pnum = 0;
-
-       max_pos = 0;
-       base = format;
-       ch = *format++;
-       
-       /* retrieve the string structure as chunks */
-       while (state != DP_S_DONE) {
-               if (ch == '\0') 
-                       state = DP_S_DONE;
-
-               switch(state) {
-               case DP_S_DEFAULT:
-                       
-                       if (cnk) {
-                               cnk->next = new_chunk();
-                               cnk = cnk->next;
-                       } else {
-                               cnk = new_chunk();
-                       }
-                       if (!cnk) goto done;
-                       if (!chunks) chunks = cnk;
-                       
-                       if (ch == '%') {
-                               state = DP_S_FLAGS;
-                               ch = *format++;
-                       } else {
-                               cnk->type = CNK_FMT_STR;
-                               cnk->start = format - base -1;
-                               while ((ch != '\0') && (ch != '%')) ch = *format++;
-                               cnk->len = format - base - cnk->start -1;
-                       }
-                       break;
-               case DP_S_FLAGS:
-                       switch (ch) {
-                       case '-':
-                               cnk->flags |= DP_F_MINUS;
-                               ch = *format++;
-                               break;
-                       case '+':
-                               cnk->flags |= DP_F_PLUS;
-                               ch = *format++;
-                               break;
-                       case ' ':
-                               cnk->flags |= DP_F_SPACE;
-                               ch = *format++;
-                               break;
-                       case '#':
-                               cnk->flags |= DP_F_NUM;
-                               ch = *format++;
-                               break;
-                       case '0':
-                               cnk->flags |= DP_F_ZERO;
-                               ch = *format++;
-                               break;
-                       case 'I':
-                               /* internationalization not supported yet */
-                               ch = *format++;
-                               break;
-                       default:
-                               state = DP_S_MIN;
-                               break;
-                       }
-                       break;
-               case DP_S_MIN:
-                       if (isdigit((unsigned char)ch)) {
-                               cnk->min = 10 * cnk->min + char_to_int (ch);
-                               ch = *format++;
-                       } else if (ch == '$') {
-                               if (!pfirst && !pflag) {
-                                       /* parameters must be all positioned or none */
-                                       goto done;
-                               }
-                               if (pfirst) {
-                                       pfirst = 0;
-                                       pflag = 1;
-                               }
-                               if (cnk->min == 0) /* what ?? */
-                                       goto done;
-                               cnk->num = cnk->min;
-                               cnk->min = 0;
-                               ch = *format++;
-                       } else if (ch == '*') {
-                               if (pfirst) pfirst = 0;
-                               cnk->min_star = new_chunk();
-                               if (!cnk->min_star) /* out of memory :-( */
-                                       goto done;
-                               cnk->min_star->type = CNK_INT;
-                               if (pflag) {
-                                       int num;
-                                       ch = *format++;
-                                       if (!isdigit((unsigned char)ch)) {
-                                               /* parameters must be all positioned or none */
-                                               goto done;
-                                       }
-                                       for (num = 0; isdigit((unsigned char)ch); ch = *format++) {
-                                               num = 10 * num + char_to_int(ch);
-                                       }
-                                       cnk->min_star->num = num;
-                                       if (ch != '$') /* what ?? */
-                                               goto done;
-                               } else {
-                                       cnk->min_star->num = ++pnum;
-                               }
-                               max_pos = add_cnk_list_entry(&clist, max_pos, cnk->min_star);
-                               if (max_pos == 0) /* out of memory :-( */
-                                       goto done;
-                               ch = *format++;
-                               state = DP_S_DOT;
-                       } else {
-                               if (pfirst) pfirst = 0;
-                               state = DP_S_DOT;
-                       }
-                       break;
-               case DP_S_DOT:
-                       if (ch == '.') {
-                               state = DP_S_MAX;
-                               ch = *format++;
-                       } else { 
-                               state = DP_S_MOD;
-                       }
-                       break;
-               case DP_S_MAX:
-                       if (isdigit((unsigned char)ch)) {
-                               if (cnk->max < 0)
-                                       cnk->max = 0;
-                               cnk->max = 10 * cnk->max + char_to_int (ch);
-                               ch = *format++;
-                       } else if (ch == '$') {
-                               if (!pfirst && !pflag) {
-                                       /* parameters must be all positioned or none */
-                                       goto done;
-                               }
-                               if (cnk->max <= 0) /* what ?? */
-                                       goto done;
-                               cnk->num = cnk->max;
-                               cnk->max = -1;
-                               ch = *format++;
-                       } else if (ch == '*') {
-                               cnk->max_star = new_chunk();
-                               if (!cnk->max_star) /* out of memory :-( */
-                                       goto done;
-                               cnk->max_star->type = CNK_INT;
-                               if (pflag) {
-                                       int num;
-                                       ch = *format++;
-                                       if (!isdigit((unsigned char)ch)) {
-                                               /* parameters must be all positioned or none */
-                                               goto done;
-                                       }
-                                       for (num = 0; isdigit((unsigned char)ch); ch = *format++) {
-                                               num = 10 * num + char_to_int(ch);
-                                       }
-                                       cnk->max_star->num = num;
-                                       if (ch != '$') /* what ?? */
-                                               goto done;
-                               } else {
-                                       cnk->max_star->num = ++pnum;
-                               }
-                               max_pos = add_cnk_list_entry(&clist, max_pos, cnk->max_star);
-                               if (max_pos == 0) /* out of memory :-( */
-                                       goto done;
-
-                               ch = *format++;
-                               state = DP_S_MOD;
-                       } else {
-                               state = DP_S_MOD;
-                       }
-                       break;
-               case DP_S_MOD:
-                       switch (ch) {
-                       case 'h':
-                               cnk->cflags = DP_C_SHORT;
-                               ch = *format++;
-                               if (ch == 'h') {
-                                       cnk->cflags = DP_C_CHAR;
-                                       ch = *format++;
-                               }
-                               break;
-                       case 'l':
-                               cnk->cflags = DP_C_LONG;
-                               ch = *format++;
-                               if (ch == 'l') {        /* It's a long long */
-                                       cnk->cflags = DP_C_LLONG;
-                                       ch = *format++;
-                               }
-                               break;
-                       case 'L':
-                               cnk->cflags = DP_C_LDOUBLE;
-                               ch = *format++;
-                               break;
-                       case 'z':
-                               cnk->cflags = DP_C_SIZET;
-                               ch = *format++;
-                               break;
-                       default:
-                               break;
-                       }
-                       state = DP_S_CONV;
-                       break;
-               case DP_S_CONV:
-                       if (cnk->num == 0) cnk->num = ++pnum;
-                       max_pos = add_cnk_list_entry(&clist, max_pos, cnk);
-                       if (max_pos == 0) /* out of memory :-( */
-                               goto done;
-                       
-                       switch (ch) {
-                       case 'd':
-                       case 'i':
-                               cnk->type = CNK_INT;
-                               break;
-                       case 'o':
-                               cnk->type = CNK_OCTAL;
-                               cnk->flags |= DP_F_UNSIGNED;
-                               break;
-                       case 'u':
-                               cnk->type = CNK_UINT;
-                               cnk->flags |= DP_F_UNSIGNED;
-                               break;
-                       case 'X':
-                               cnk->flags |= DP_F_UP;
-                       case 'x':
-                               cnk->type = CNK_HEX;
-                               cnk->flags |= DP_F_UNSIGNED;
-                               break;
-                       case 'A':
-                               /* hex float not supported yet */
-                       case 'E':
-                       case 'G':
-                       case 'F':
-                               cnk->flags |= DP_F_UP;
-                       case 'a':
-                               /* hex float not supported yet */
-                       case 'e':
-                       case 'f':
-                       case 'g':
-                               cnk->type = CNK_FLOAT;
-                               break;
-                       case 'c':
-                               cnk->type = CNK_CHAR;
-                               break;
-                       case 's':
-                               cnk->type = CNK_STRING;
-                               break;
-                       case 'p':
-                               cnk->type = CNK_PTR;
-                               break;
-                       case 'n':
-                               cnk->type = CNK_NUM;
-                               break;
-                       case '%':
-                               cnk->type = CNK_PRCNT;
-                               break;
-                       default:
-                               /* Unknown, bail out*/
-                               goto done;
-                       }
-                       ch = *format++;
-                       state = DP_S_DEFAULT;
-                       break;
-               case DP_S_DONE:
-                       break;
-               default:
-                       /* hmm? */
-                       break; /* some picky compilers need this */
-               }
-       }
-
-       /* retrieve the format arguments */
-       for (pnum = 0; pnum < max_pos; pnum++) {
-               int i;
-
-               if (clist[pnum].num == 0) {
-                       /* ignoring a parameter should not be permitted
-                        * all parameters must be matched at least once
-                        * BUT seem some system ignore this rule ...
-                        * at least my glibc based system does --SSS
-                        */
-#ifdef DEBUG_SNPRINTF
-                       printf("parameter at position %d not used\n", pnum+1);
-#endif
-                       /* eat the parameter */
-                       va_arg (args, int);
-                       continue;
-               }
-               for (i = 1; i < clist[pnum].num; i++) {
-                       if (clist[pnum].chunks[0]->type != clist[pnum].chunks[i]->type) {
-                               /* nooo noo no!
-                                * all the references to a parameter
-                                * must be of the same type
-                                */
-                               goto done;
-                       }
-               }
-               cnk = clist[pnum].chunks[0];
-               switch (cnk->type) {
-               case CNK_INT:
-                       if (cnk->cflags == DP_C_SHORT) 
-                               cnk->value = va_arg (args, int);
-                       else if (cnk->cflags == DP_C_LONG)
-                               cnk->value = va_arg (args, long int);
-                       else if (cnk->cflags == DP_C_LLONG)
-                               cnk->value = va_arg (args, LLONG);
-                       else if (cnk->cflags == DP_C_SIZET)
-                               cnk->value = va_arg (args, ssize_t);
-                       else
-                               cnk->value = va_arg (args, int);
-
-                       for (i = 1; i < clist[pnum].num; i++) {
-                               clist[pnum].chunks[i]->value = cnk->value;
-                       }
-                       break;
-
-               case CNK_OCTAL:
-               case CNK_UINT:
-               case CNK_HEX:
-                       if (cnk->cflags == DP_C_SHORT)
-                               cnk->value = va_arg (args, unsigned int);
-                       else if (cnk->cflags == DP_C_LONG)
-                               cnk->value = (unsigned long int)va_arg (args, unsigned long int);
-                       else if (cnk->cflags == DP_C_LLONG)
-                               cnk->value = (LLONG)va_arg (args, unsigned LLONG);
-                       else if (cnk->cflags == DP_C_SIZET)
-                               cnk->value = (size_t)va_arg (args, size_t);
-                       else
-                               cnk->value = (unsigned int)va_arg (args, unsigned int);
-
-                       for (i = 1; i < clist[pnum].num; i++) {
-                               clist[pnum].chunks[i]->value = cnk->value;
-                       }
-                       break;
-
-               case CNK_FLOAT:
-                       if (cnk->cflags == DP_C_LDOUBLE)
-                               cnk->fvalue = va_arg (args, LDOUBLE);
-                       else
-                               cnk->fvalue = va_arg (args, double);
-
-                       for (i = 1; i < clist[pnum].num; i++) {
-                               clist[pnum].chunks[i]->fvalue = cnk->fvalue;
-                       }
-                       break;
-
-               case CNK_CHAR:
-                       cnk->value = va_arg (args, int);
-
-                       for (i = 1; i < clist[pnum].num; i++) {
-                               clist[pnum].chunks[i]->value = cnk->value;
-                       }
-                       break;
-
-               case CNK_STRING:
-                       cnk->strvalue = va_arg (args, char *);
-                       if (!cnk->strvalue) cnk->strvalue = "(NULL)";
-
-                       for (i = 1; i < clist[pnum].num; i++) {
-                               clist[pnum].chunks[i]->strvalue = cnk->strvalue;
-                       }
-                       break;
-
-               case CNK_PTR:
-                       cnk->strvalue = va_arg (args, void *);
-                       for (i = 1; i < clist[pnum].num; i++) {
-                               clist[pnum].chunks[i]->strvalue = cnk->strvalue;
-                       }
-                       break;
-
-               case CNK_NUM:
-                       if (cnk->cflags == DP_C_CHAR)
-                               cnk->pnum = va_arg (args, char *);
-                       else if (cnk->cflags == DP_C_SHORT)
-                               cnk->pnum = va_arg (args, short int *);
-                       else if (cnk->cflags == DP_C_LONG)
-                               cnk->pnum = va_arg (args, long int *);
-                       else if (cnk->cflags == DP_C_LLONG)
-                               cnk->pnum = va_arg (args, LLONG *);
-                       else if (cnk->cflags == DP_C_SIZET)
-                               cnk->pnum = va_arg (args, ssize_t *);
-                       else
-                               cnk->pnum = va_arg (args, int *);
-
-                       for (i = 1; i < clist[pnum].num; i++) {
-                               clist[pnum].chunks[i]->pnum = cnk->pnum;
-                       }
-                       break;
-
-               case CNK_PRCNT:
-                       break;
-
-               default:
-                       /* what ?? */
-                       goto done;
-               }
-       }
-       /* print out the actual string from chunks */
-       currlen = 0;
-       cnk = chunks;
-       while (cnk) {
-               int len, min, max;
-
-               if (cnk->min_star) min = cnk->min_star->value;
-               else min = cnk->min;
-               if (cnk->max_star) max = cnk->max_star->value;
-               else max = cnk->max;
-
-               switch (cnk->type) {
-
-               case CNK_FMT_STR:
-                       if (maxlen != 0 && maxlen > currlen) {
-                               if (maxlen > (currlen + cnk->len)) len = cnk->len;
-                               else len = maxlen - currlen;
-
-                               memcpy(&(buffer[currlen]), &(base[cnk->start]), len);
-                       }
-                       currlen += cnk->len;
-                               
-                       break;
-
-               case CNK_INT:
-               case CNK_UINT:
-                       fmtint (buffer, &currlen, maxlen, cnk->value, 10, min, max, cnk->flags);
-                       break;
-
-               case CNK_OCTAL:
-                       fmtint (buffer, &currlen, maxlen, cnk->value, 8, min, max, cnk->flags);
-                       break;
-
-               case CNK_HEX:
-                       fmtint (buffer, &currlen, maxlen, cnk->value, 16, min, max, cnk->flags);
-                       break;
-
-               case CNK_FLOAT:
-                       fmtfp (buffer, &currlen, maxlen, cnk->fvalue, min, max, cnk->flags);
-                       break;
-
-               case CNK_CHAR:
-                       dopr_outch (buffer, &currlen, maxlen, cnk->value);
-                       break;
-
-               case CNK_STRING:
-                       if (max == -1) {
-                               max = strlen(cnk->strvalue);
-                       }
-                       fmtstr (buffer, &currlen, maxlen, cnk->strvalue, cnk->flags, min, max);
-                       break;
-
-               case CNK_PTR:
-                       fmtint (buffer, &currlen, maxlen, (long)(cnk->strvalue), 16, min, max, cnk->flags);
-                       break;
-
-               case CNK_NUM:
-                       if (cnk->cflags == DP_C_CHAR)
-                               *((char *)(cnk->pnum)) = (char)currlen;
-                       else if (cnk->cflags == DP_C_SHORT)
-                               *((short int *)(cnk->pnum)) = (short int)currlen;
-                       else if (cnk->cflags == DP_C_LONG)
-                               *((long int *)(cnk->pnum)) = (long int)currlen;
-                       else if (cnk->cflags == DP_C_LLONG)
-                               *((LLONG *)(cnk->pnum)) = (LLONG)currlen;
-                       else if (cnk->cflags == DP_C_SIZET)
-                               *((ssize_t *)(cnk->pnum)) = (ssize_t)currlen;
-                       else
-                               *((int *)(cnk->pnum)) = (int)currlen;
-                       break;
-
-               case CNK_PRCNT:
-                       dopr_outch (buffer, &currlen, maxlen, '%');
-                       break;
-
-               default:
-                       /* what ?? */
-                       goto done;
-               }
-               cnk = cnk->next;
-       }
-       if (maxlen != 0) {
-               if (currlen < maxlen - 1) 
-                       buffer[currlen] = '\0';
-               else if (maxlen > 0) 
-                       buffer[maxlen - 1] = '\0';
-       }
-       ret = currlen;
-
-done:
-       va_end(args);
-
-       while (chunks) {
-               cnk = chunks->next;
-               free(chunks);
-               chunks = cnk;
-       }
-       if (clist) {
-               for (pnum = 0; pnum < max_pos; pnum++) {
-                       if (clist[pnum].chunks) free(clist[pnum].chunks);
-               }
-               free(clist);
-       }
-       return ret;
-}
-
-static void fmtstr(char *buffer, size_t *currlen, size_t maxlen,
-                   char *value, int flags, int min, int max)
-{
-       int padlen, strln;     /* amount to pad */
-       int cnt = 0;
-
-#ifdef DEBUG_SNPRINTF
-       printf("fmtstr min=%d max=%d s=[%s]\n", min, max, value);
-#endif
-       if (value == 0) {
-               value = "<NULL>";
-       }
-
-       for (strln = 0; strln < max && value[strln]; ++strln); /* strlen */
-       padlen = min - strln;
-       if (padlen < 0) 
-               padlen = 0;
-       if (flags & DP_F_MINUS) 
-               padlen = -padlen; /* Left Justify */
-       
-       while (padlen > 0) {
-               dopr_outch (buffer, currlen, maxlen, ' ');
-               --padlen;
-       }
-       while (*value && (cnt < max)) {
-               dopr_outch (buffer, currlen, maxlen, *value++);
-               ++cnt;
-       }
-       while (padlen < 0) {
-               dopr_outch (buffer, currlen, maxlen, ' ');
-               ++padlen;
-       }
-}
-
-/* Have to handle DP_F_NUM (ie 0x and 0 alternates) */
-
-static void fmtint(char *buffer, size_t *currlen, size_t maxlen,
-                   LLONG value, int base, int min, int max, int flags)
-{
-       int signvalue = 0;
-       unsigned LLONG uvalue;
-       char convert[20];
-       int place = 0;
-       int spadlen = 0; /* amount to space pad */
-       int zpadlen = 0; /* amount to zero pad */
-       int caps = 0;
-       
-       if (max < 0)
-               max = 0;
-       
-       uvalue = value;
-       
-       if(!(flags & DP_F_UNSIGNED)) {
-               if( value < 0 ) {
-                       signvalue = '-';
-                       uvalue = -value;
-               } else {
-                       if (flags & DP_F_PLUS)  /* Do a sign (+/i) */
-                               signvalue = '+';
-                       else if (flags & DP_F_SPACE)
-                               signvalue = ' ';
-               }
-       }
-  
-       if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */
-
-       do {
-               convert[place++] =
-                       (caps? "0123456789ABCDEF":"0123456789abcdef")
-                       [uvalue % (unsigned)base  ];
-               uvalue = (uvalue / (unsigned)base );
-       } while(uvalue && (place < 20));
-       if (place == 20) place--;
-       convert[place] = 0;
-
-       zpadlen = max - place;
-       spadlen = min - MAX (max, place) - (signvalue ? 1 : 0);
-       if (zpadlen < 0) zpadlen = 0;
-       if (spadlen < 0) spadlen = 0;
-       if (flags & DP_F_ZERO) {
-               zpadlen = MAX(zpadlen, spadlen);
-               spadlen = 0;
-       }
-       if (flags & DP_F_MINUS) 
-               spadlen = -spadlen; /* Left Justifty */
-
-#ifdef DEBUG_SNPRINTF
-       printf("zpad: %d, spad: %d, min: %d, max: %d, place: %d\n",
-              zpadlen, spadlen, min, max, place);
-#endif
-
-       /* Spaces */
-       while (spadlen > 0) {
-               dopr_outch (buffer, currlen, maxlen, ' ');
-               --spadlen;
-       }
-
-       /* Sign */
-       if (signvalue) 
-               dopr_outch (buffer, currlen, maxlen, signvalue);
-
-       /* Zeros */
-       if (zpadlen > 0) {
-               while (zpadlen > 0) {
-                       dopr_outch (buffer, currlen, maxlen, '0');
-                       --zpadlen;
-               }
-       }
-
-       /* Digits */
-       while (place > 0) 
-               dopr_outch (buffer, currlen, maxlen, convert[--place]);
-  
-       /* Left Justified spaces */
-       while (spadlen < 0) {
-               dopr_outch (buffer, currlen, maxlen, ' ');
-               ++spadlen;
-       }
-}
-
-static LDOUBLE abs_val(LDOUBLE value)
-{
-       LDOUBLE result = value;
-
-       if (value < 0)
-               result = -value;
-       
-       return result;
-}
-
-static LDOUBLE POW10(int exp)
-{
-       LDOUBLE result = 1;
-       
-       while (exp) {
-               result *= 10;
-               exp--;
-       }
-  
-       return result;
-}
-
-static LLONG ROUND(LDOUBLE value)
-{
-       LLONG intpart;
-
-       intpart = (LLONG)value;
-       value = value - intpart;
-       if (value >= 0.5) intpart++;
-       
-       return intpart;
-}
-
-/* a replacement for modf that doesn't need the math library. Should
-   be portable, but slow */
-static double my_modf(double x0, double *iptr)
-{
-       int i;
-       LLONG l=0;
-       double x = x0;
-       double f = 1.0;
-
-       for (i=0;i<100;i++) {
-               l = (long)x;
-               if (l <= (x+1) && l >= (x-1)) break;
-               x *= 0.1;
-               f *= 10.0;
-       }
-
-       if (i == 100) {
-               /* yikes! the number is beyond what we can handle. What do we do? */
-               (*iptr) = 0;
-               return 0;
-       }
-
-       if (i != 0) {
-               double i2;
-               double ret;
-
-               ret = my_modf(x0-l*f, &i2);
-               (*iptr) = l*f + i2;
-               return ret;
-       } 
-
-       (*iptr) = l;
-       return x - (*iptr);
-}
-
-
-static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
-                  LDOUBLE fvalue, int min, int max, int flags)
-{
-       int signvalue = 0;
-       double ufvalue;
-       char iconvert[311];
-       char fconvert[311];
-       int iplace = 0;
-       int fplace = 0;
-       int padlen = 0; /* amount to pad */
-       int zpadlen = 0; 
-       int caps = 0;
-       int idx;
-       double intpart;
-       double fracpart;
-       double temp;
-  
-       /* 
-        * AIX manpage says the default is 0, but Solaris says the default
-        * is 6, and sprintf on AIX defaults to 6
-        */
-       if (max < 0)
-               max = 6;
-
-       ufvalue = abs_val (fvalue);
-
-       if (fvalue < 0) {
-               signvalue = '-';
-       } else {
-               if (flags & DP_F_PLUS) { /* Do a sign (+/i) */
-                       signvalue = '+';
-               } else {
-                       if (flags & DP_F_SPACE)
-                               signvalue = ' ';
-               }
-       }
-
-#if 0
-       if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */
-#endif
-
-#if 0
-        if (max == 0) ufvalue += 0.5; /* if max = 0 we must round */
-#endif
-
-       /* 
-        * Sorry, we only support 9 digits past the decimal because of our 
-        * conversion method
-        */
-       if (max > 9)
-               max = 9;
-
-       /* We "cheat" by converting the fractional part to integer by
-        * multiplying by a factor of 10
-        */
-
-       temp = ufvalue;
-       my_modf(temp, &intpart);
-
-       fracpart = ROUND((POW10(max)) * (ufvalue - intpart));
-       
-       if (fracpart >= POW10(max)) {
-               intpart++;
-               fracpart -= POW10(max);
-       }
-
-
-       /* Convert integer part */
-       do {
-               temp = intpart*0.1;
-               my_modf(temp, &intpart);
-               idx = (int) ((temp -intpart +0.05)* 10.0);
-               /* idx = (int) (((double)(temp*0.1) -intpart +0.05) *10.0); */
-               /* printf ("%llf, %f, %x\n", temp, intpart, idx); */
-               iconvert[iplace++] =
-                       (caps? "0123456789ABCDEF":"0123456789abcdef")[idx];
-       } while (intpart && (iplace < 311));
-       if (iplace == 311) iplace--;
-       iconvert[iplace] = 0;
-
-       /* Convert fractional part */
-       if (fracpart)
-       {
-               do {
-                       temp = fracpart*0.1;
-                       my_modf(temp, &fracpart);
-                       idx = (int) ((temp -fracpart +0.05)* 10.0);
-                       /* idx = (int) ((((temp/10) -fracpart) +0.05) *10); */
-                       /* printf ("%lf, %lf, %ld\n", temp, fracpart, idx ); */
-                       fconvert[fplace++] =
-                       (caps? "0123456789ABCDEF":"0123456789abcdef")[idx];
-               } while(fracpart && (fplace < 311));
-               if (fplace == 311) fplace--;
-       }
-       fconvert[fplace] = 0;
-  
-       /* -1 for decimal point, another -1 if we are printing a sign */
-       padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0); 
-       zpadlen = max - fplace;
-       if (zpadlen < 0) zpadlen = 0;
-       if (padlen < 0) 
-               padlen = 0;
-       if (flags & DP_F_MINUS) 
-               padlen = -padlen; /* Left Justifty */
-       
-       if ((flags & DP_F_ZERO) && (padlen > 0)) {
-               if (signvalue) {
-                       dopr_outch (buffer, currlen, maxlen, signvalue);
-                       --padlen;
-                       signvalue = 0;
-               }
-               while (padlen > 0) {
-                       dopr_outch (buffer, currlen, maxlen, '0');
-                       --padlen;
-               }
-       }
-       while (padlen > 0) {
-               dopr_outch (buffer, currlen, maxlen, ' ');
-               --padlen;
-       }
-       if (signvalue) 
-               dopr_outch (buffer, currlen, maxlen, signvalue);
-       
-       while (iplace > 0) 
-               dopr_outch (buffer, currlen, maxlen, iconvert[--iplace]);
-
-#ifdef DEBUG_SNPRINTF
-       printf("fmtfp: fplace=%d zpadlen=%d\n", fplace, zpadlen);
-#endif
-
-       /*
-        * Decimal point.  This should probably use locale to find the correct
-        * char to print out.
-        */
-       if (max > 0) {
-               dopr_outch (buffer, currlen, maxlen, '.');
-               
-               while (zpadlen > 0) {
-                       dopr_outch (buffer, currlen, maxlen, '0');
-                       --zpadlen;
-               }
-
-               while (fplace > 0) 
-                       dopr_outch (buffer, currlen, maxlen, fconvert[--fplace]);
-       }
-
-       while (padlen < 0) {
-               dopr_outch (buffer, currlen, maxlen, ' ');
-               ++padlen;
-       }
-}
-
-static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c)
-{
-       if (*currlen < maxlen) {
-               buffer[(*currlen)] = c;
-       }
-       (*currlen)++;
-}
-
-static struct pr_chunk *new_chunk(void) {
-       struct pr_chunk *new_c = (struct pr_chunk *)malloc(sizeof(struct pr_chunk));
-
-       if (!new_c)
-               return NULL;
-
-       new_c->type = 0;
-       new_c->num = 0;
-       new_c->min = 0;
-       new_c->min_star = NULL;
-       new_c->max = -1;
-       new_c->max_star = NULL;
-       new_c->flags = 0;
-       new_c->cflags = 0;
-       new_c->start = 0;
-       new_c->len = 0;
-       new_c->value = 0;
-       new_c->fvalue = 0;
-       new_c->strvalue = NULL;
-       new_c->pnum = NULL;
-       new_c->next = NULL;
-
-       return new_c;
-}
-
-static int add_cnk_list_entry(struct pr_chunk_x **list,
-                               int max_num, struct pr_chunk *chunk) {
-       struct pr_chunk_x *l;
-       struct pr_chunk **c;
-       int max;
-       int cnum;
-       int i, pos;
-
-       if (chunk->num > max_num) {
-               max = chunk->num;
-       
-               if (*list == NULL) {
-                       l = (struct pr_chunk_x *)malloc(sizeof(struct pr_chunk_x) * max);
-                       pos = 0;
-               } else {
-                       l = (struct pr_chunk_x *)realloc(*list, sizeof(struct pr_chunk_x) * max);
-                       pos = max_num;
-               }
-               if (l == NULL) {
-                       for (i = 0; i < max; i++) {
-                               if ((*list)[i].chunks) free((*list)[i].chunks);
-                       }
-                       return 0;
-               }
-               for (i = pos; i < max; i++) {
-                       l[i].chunks = NULL;
-                       l[i].num = 0;
-               }
-       } else {
-               l = *list;
-               max = max_num;
-       }
-
-       i = chunk->num - 1;
-       cnum = l[i].num + 1;
-       if (l[i].chunks == NULL) {
-               c = (struct pr_chunk **)malloc(sizeof(struct pr_chunk *) * cnum); 
-       } else {
-               c = (struct pr_chunk **)realloc(l[i].chunks, sizeof(struct pr_chunk *) * cnum);
-       }
-       if (c == NULL) {
-               for (i = 0; i < max; i++) {
-                       if (l[i].chunks) free(l[i].chunks);
-               }
-               return 0;
-       }
-       c[l[i].num] = chunk;
-       l[i].chunks = c;
-       l[i].num = cnum;
-
-       *list = l;
-       return max;
-}
-
- int vsnprintf (char *str, size_t count, const char *fmt, va_list args)
-{
-       return dopr(str, count, fmt, args);
-}
-#endif
-
-/* yes this really must be a ||. Don't muck with this (tridge)
- *
- * The logic for these two is that we need our own definition if the
- * OS *either* has no definition of *sprintf, or if it does have one
- * that doesn't work properly according to the autoconf test.
- */
-#if !defined(HAVE_SNPRINTF) || !defined(HAVE_C99_VSNPRINTF)
- int snprintf(char *str,size_t count,const char *fmt,...)
-{
-       size_t ret;
-       va_list ap;
-    
-       va_start(ap, fmt);
-       ret = vsnprintf(str, count, fmt, ap);
-       va_end(ap);
-       return ret;
-}
-#endif
-
-#ifndef HAVE_C99_VSNPRINTF
- int printf(const char *fmt, ...)
-{
-       va_list ap;
-       int ret;
-       char *s;
-
-       s = NULL;
-       va_start(ap, fmt);
-       ret = vasprintf(&s, fmt, ap);
-       va_end(ap);
-
-       if (s) {
-               fwrite(s, 1, strlen(s), stdout);
-       }
-       free(s);
-
-       return ret;
-}
-#endif
-
-#ifndef HAVE_C99_VSNPRINTF
- int fprintf(FILE *stream, const char *fmt, ...)
-{
-       va_list ap;
-       int ret;
-       char *s;
-
-       s = NULL;
-       va_start(ap, fmt);
-       ret = vasprintf(&s, fmt, ap);
-       va_end(ap);
-
-       if (s) {
-               fwrite(s, 1, strlen(s), stream);
-       }
-       free(s);
-
-       return ret;
-}
-#endif
-
-#endif 
-
-#ifndef HAVE_VASPRINTF
- int vasprintf(char **ptr, const char *format, va_list ap)
-{
-       int ret;
-       va_list ap2;
-
-       VA_COPY(ap2, ap);
-       ret = vsnprintf(NULL, 0, format, ap2);
-       va_end(ap2);
-       if (ret < 0) return ret;
-
-       (*ptr) = (char *)malloc(ret+1);
-       if (!*ptr) return -1;
-
-       VA_COPY(ap2, ap);
-       ret = vsnprintf(*ptr, ret+1, format, ap2);
-       va_end(ap2);
-
-       return ret;
-}
-#endif
-
-
-#ifndef HAVE_ASPRINTF
- int asprintf(char **ptr, const char *format, ...)
-{
-       va_list ap;
-       int ret;
-       
-       *ptr = NULL;
-       va_start(ap, format);
-       ret = vasprintf(ptr, format, ap);
-       va_end(ap);
-
-       return ret;
-}
-#endif
-
-#ifdef TEST_SNPRINTF
-
- int sprintf(char *str,const char *fmt,...);
- int printf(const char *fmt,...);
-
- int main (void)
-{
-       char buf1[1024];
-       char buf2[1024];
-       char *buf3;
-       char *fp_fmt[] = {
-               "%1.1f",
-               "%-1.5f",
-               "%1.5f",
-               "%123.9f",
-               "%10.5f",
-               "% 10.5f",
-               "%+22.9f",
-               "%+4.9f",
-               "%01.3f",
-               "%4f",
-               "%3.1f",
-               "%3.2f",
-               "%.0f",
-               "%f",
-               "%-8.8f",
-               "%-9.9f",
-               NULL
-       };
-       double fp_nums[] = { 6442452944.1234, -1.5, 134.21, 91340.2, 341.1234, 203.9, 0.96, 0.996, 
-                            0.9996, 1.996, 4.136, 5.030201, 0.00205,
-                            /* END LIST */ 0};
-       char *int_fmt[] = {
-               "%-1.5d",
-               "%1.5d",
-               "%123.9d",
-               "%5.5d",
-               "%10.5d",
-               "% 10.5d",
-               "%+22.33d",
-               "%01.3d",
-               "%4d",
-               "%d",
-               NULL
-       };
-       long int_nums[] = { -1, 134, 91340, 341, 0203, 1234567890, 0};
-       char *str_fmt[] = {
-               "%10.5s",
-               "%-10.5s",
-               "%5.10s",
-               "%-5.10s",
-               "%10.1s",
-               "%0.10s",
-               "%10.0s",
-               "%1.10s",
-               "%s",
-               "%.1s",
-               "%.10s",
-               "%10s",
-               NULL
-       };
-       char *str_vals[] = {"hello", "a", "", "a longer string", NULL};
-#ifdef HAVE_LONG_LONG
-       char *ll_fmt[] = {
-               "%llu",
-               NULL
-       };
-       LLONG ll_nums[] = { 134, 91340, 341, 0203, 1234567890, 128006186140000000LL, 0};
-#endif
-       int x, y;
-       int fail = 0;
-       int num = 0;
-       int l1, l2;
-       char *ss_fmt[] = {
-               "%zd",
-               "%zu",
-               NULL
-       };
-       size_t ss_nums[] = {134, 91340, 123456789, 0203, 1234567890, 0};
-
-       printf ("Testing snprintf format codes against system sprintf...\n");
-
-       for (x = 0; fp_fmt[x] ; x++) {
-               for (y = 0; fp_nums[y] != 0 ; y++) {
-                       buf1[0] = buf2[0] = '\0';
-                       l1 = snprintf(buf1, sizeof(buf1), fp_fmt[x], fp_nums[y]);
-                       l2 = sprintf (buf2, fp_fmt[x], fp_nums[y]);
-                       buf1[1023] = buf2[1023] = '\0';
-                       if (strcmp (buf1, buf2) || (l1 != l2)) {
-                               printf("snprintf doesn't match Format: %s\n\tsnprintf(%d) = [%s]\n\t sprintf(%d) = [%s]\n", 
-                                      fp_fmt[x], l1, buf1, l2, buf2);
-                               fail++;
-                       }
-                       num++;
-               }
-       }
-
-       for (x = 0; int_fmt[x] ; x++) {
-               for (y = 0; int_nums[y] != 0 ; y++) {
-                       buf1[0] = buf2[0] = '\0';
-                       l1 = snprintf(buf1, sizeof(buf1), int_fmt[x], int_nums[y]);
-                       l2 = sprintf (buf2, int_fmt[x], int_nums[y]);
-                       buf1[1023] = buf2[1023] = '\0';
-                       if (strcmp (buf1, buf2) || (l1 != l2)) {
-                               printf("snprintf doesn't match Format: %s\n\tsnprintf(%d) = [%s]\n\t sprintf(%d) = [%s]\n", 
-                                      int_fmt[x], l1, buf1, l2, buf2);
-                               fail++;
-                       }
-                       num++;
-               }
-       }
-
-       for (x = 0; str_fmt[x] ; x++) {
-               for (y = 0; str_vals[y] != 0 ; y++) {
-                       buf1[0] = buf2[0] = '\0';
-                       l1 = snprintf(buf1, sizeof(buf1), str_fmt[x], str_vals[y]);
-                       l2 = sprintf (buf2, str_fmt[x], str_vals[y]);
-                       buf1[1023] = buf2[1023] = '\0';
-                       if (strcmp (buf1, buf2) || (l1 != l2)) {
-                               printf("snprintf doesn't match Format: %s\n\tsnprintf(%d) = [%s]\n\t sprintf(%d) = [%s]\n", 
-                                      str_fmt[x], l1, buf1, l2, buf2);
-                               fail++;
-                       }
-                       num++;
-               }
-       }
-
-#ifdef HAVE_LONG_LONG
-       for (x = 0; ll_fmt[x] ; x++) {
-               for (y = 0; ll_nums[y] != 0 ; y++) {
-                       buf1[0] = buf2[0] = '\0';
-                       l1 = snprintf(buf1, sizeof(buf1), ll_fmt[x], ll_nums[y]);
-                       l2 = sprintf (buf2, ll_fmt[x], ll_nums[y]);
-                       buf1[1023] = buf2[1023] = '\0';
-                       if (strcmp (buf1, buf2) || (l1 != l2)) {
-                               printf("snprintf doesn't match Format: %s\n\tsnprintf(%d) = [%s]\n\t sprintf(%d) = [%s]\n", 
-                                      ll_fmt[x], l1, buf1, l2, buf2);
-                               fail++;
-                       }
-                       num++;
-               }
-       }
-#endif
-
-#define BUFSZ 2048
-
-       buf1[0] = buf2[0] = '\0';
-       if ((buf3 = malloc(BUFSZ)) == NULL) {
-               fail++;
-       } else {
-               num++;
-               memset(buf3, 'a', BUFSZ);
-               snprintf(buf1, sizeof(buf1), "%.*s", 1, buf3);
-               buf1[1023] = '\0';
-               if (strcmp(buf1, "a") != 0) {
-                       printf("length limit buf1 '%s' expected 'a'\n", buf1);
-                       fail++;
-               }
-        }
-
-       buf1[0] = buf2[0] = '\0';
-       l1 = snprintf(buf1, sizeof(buf1), "%4$*1$d %2$s %3$*1$.*1$f", 3, "pos test", 12.3456, 9);
-       l2 = sprintf(buf2, "%4$*1$d %2$s %3$*1$.*1$f", 3, "pos test", 12.3456, 9);
-       buf1[1023] = buf2[1023] = '\0';
-       if (strcmp(buf1, buf2) || (l1 != l2)) {
-               printf("snprintf doesn't match Format: %s\n\tsnprintf(%d) = [%s]\n\t sprintf(%d) = [%s]\n",
-                               "%4$*1$d %2$s %3$*1$.*1$f", l1, buf1, l2, buf2);
-               fail++;
-       }
-
-       buf1[0] = buf2[0] = '\0';
-       l1 = snprintf(buf1, sizeof(buf1), "%4$*4$d %2$s %3$*4$.*4$f", 3, "pos test", 12.3456, 9);
-       l2 = sprintf(buf2, "%4$*4$d %2$s %3$*4$.*4$f", 3, "pos test", 12.3456, 9);
-       buf1[1023] = buf2[1023] = '\0';
-       if (strcmp(buf1, buf2)) {
-               printf("snprintf doesn't match Format: %s\n\tsnprintf(%d) = [%s]\n\t sprintf(%d) = [%s]\n",
-                               "%4$*1$d %2$s %3$*1$.*1$f", l1, buf1, l2, buf2);
-               fail++;
-       }
-
-       for (x = 0; ss_fmt[x] ; x++) {
-               for (y = 0; ss_nums[y] != 0 ; y++) {
-                       buf1[0] = buf2[0] = '\0';
-                       l1 = snprintf(buf1, sizeof(buf1), ss_fmt[x], ss_nums[y]);
-                       l2 = sprintf (buf2, ss_fmt[x], ss_nums[y]);
-                       buf1[1023] = buf2[1023] = '\0';
-                       if (strcmp (buf1, buf2) || (l1 != l2)) {
-                               printf("snprintf doesn't match Format: %s\n\tsnprintf(%d) = [%s]\n\t sprintf(%d) = [%s]\n", 
-                                      ss_fmt[x], l1, buf1, l2, buf2);
-                               fail++;
-                       }
-                       num++;
-               }
-       }
-#if 0
-       buf1[0] = buf2[0] = '\0';
-       l1 = snprintf(buf1, sizeof(buf1), "%lld", (LLONG)1234567890);
-       l2 = sprintf(buf2, "%lld", (LLONG)1234567890);
-       buf1[1023] = buf2[1023] = '\0';
-       if (strcmp(buf1, buf2)) {
-               printf("snprintf doesn't match Format: %s\n\tsnprintf(%d) = [%s]\n\t sprintf(%d) = [%s]\n",
-                               "%lld", l1, buf1, l2, buf2);
-               fail++;
-       }
-
-       buf1[0] = buf2[0] = '\0';
-       l1 = snprintf(buf1, sizeof(buf1), "%Lf", (LDOUBLE)890.1234567890123);
-       l2 = sprintf(buf2, "%Lf", (LDOUBLE)890.1234567890123);
-       buf1[1023] = buf2[1023] = '\0';
-       if (strcmp(buf1, buf2)) {
-               printf("snprintf doesn't match Format: %s\n\tsnprintf(%d) = [%s]\n\t sprintf(%d) = [%s]\n",
-                               "%Lf", l1, buf1, l2, buf2);
-               fail++;
-       }
-#endif
-       printf ("%d tests failed out of %d.\n", fail, num);
-
-       printf("seeing how many digits we support\n");
-       {
-               double v0 = 0.12345678901234567890123456789012345678901;
-               for (x=0; x<100; x++) {
-                       double p = pow(10, x); 
-                       double r = v0*p;
-                       snprintf(buf1, sizeof(buf1), "%1.1f", r);
-                       sprintf(buf2,                "%1.1f", r);
-                       if (strcmp(buf1, buf2)) {
-                               printf("we seem to support %d digits\n", x-1);
-                               break;
-                       }
-               }
-       }
-
-       return 0;
-}
-#endif /* TEST_SNPRINTF */
diff --git a/source4/lib/replace/socket.c b/source4/lib/replace/socket.c
deleted file mode 100644 (file)
index 35e975f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Unix SMB/CIFS implementation.
- *
- * Dummy replacements for socket functions.
- *
- * Copyright (C) Michael Adam <obnox@samba.org> 2008
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "replace.h"
-#include "system/network.h"
-
-int rep_connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen)
-{
-       errno = ENOSYS;
-       return -1;
-}
-
-struct hostent *rep_gethostbyname(const char *name)
-{
-       errno = ENOSYS;
-       return NULL;
-}
diff --git a/source4/lib/replace/socketpair.c b/source4/lib/replace/socketpair.c
deleted file mode 100644 (file)
index c775730..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Unix SMB/CIFS implementation.
- * replacement routines for broken systems
- * Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2006
- * Copyright (C) Michael Adam <obnox@samba.org> 2008
- *
- *  ** NOTE! The following LGPL license applies to the replace
- *  ** library. This does NOT imply that all of Samba is released
- *  ** under the LGPL
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "replace.h"
-#include "system/network.h"
-
-int rep_socketpair(int d, int type, int protocol, int sv[2])
-{
-       if (d != AF_UNIX) {
-               errno = EAFNOSUPPORT;
-               return -1;
-       }
-
-       if (protocol != 0) {
-               errno = EPROTONOSUPPORT;
-               return -1;
-       }
-
-       if (type != SOCK_STREAM) {
-               errno = EOPNOTSUPP;
-               return -1;
-       }
-
-       return pipe(sv);
-}
diff --git a/source4/lib/replace/strptime.c b/source4/lib/replace/strptime.c
deleted file mode 100644 (file)
index 0e40f75..0000000
+++ /dev/null
@@ -1,990 +0,0 @@
-/* Convert a string representation of time to a time value.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 3 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not, 
-   see <http://www.gnu.org/licenses/>.  */
-
-/* XXX This version of the implementation is not really complete.
-   Some of the fields cannot add information alone.  But if seeing
-   some of them in the same format (such as year, week and weekday)
-   this is enough information for determining the date.  */
-
-#include "replace.h"
-#include "system/locale.h"
-#include "system/time.h"
-
-#ifndef __P
-# if defined (__GNUC__) || (defined (__STDC__) && __STDC__)
-#  define __P(args) args
-# else
-#  define __P(args) ()
-# endif  /* GCC.  */
-#endif  /* Not __P.  */
-
-#if ! HAVE_LOCALTIME_R && ! defined localtime_r
-# ifdef _LIBC
-#  define localtime_r __localtime_r
-# else
-/* Approximate localtime_r as best we can in its absence.  */
-#  define localtime_r my_localtime_r
-static struct tm *localtime_r __P ((const time_t *, struct tm *));
-static struct tm *
-localtime_r (t, tp)
-     const time_t *t;
-     struct tm *tp;
-{
-  struct tm *l = localtime (t);
-  if (! l)
-    return 0;
-  *tp = *l;
-  return tp;
-}
-# endif /* ! _LIBC */
-#endif /* ! HAVE_LOCALTIME_R && ! defined (localtime_r) */
-
-
-#define match_char(ch1, ch2) if (ch1 != ch2) return NULL
-#if defined __GNUC__ && __GNUC__ >= 2
-# define match_string(cs1, s2) \
-  ({ size_t len = strlen (cs1);                                                      \
-     int result = strncasecmp ((cs1), (s2), len) == 0;                       \
-     if (result) (s2) += len;                                                \
-     result; })
-#else
-/* Oh come on.  Get a reasonable compiler.  */
-# define match_string(cs1, s2) \
-  (strncasecmp ((cs1), (s2), strlen (cs1)) ? 0 : ((s2) += strlen (cs1), 1))
-#endif
-/* We intentionally do not use isdigit() for testing because this will
-   lead to problems with the wide character version.  */
-#define get_number(from, to, n) \
-  do {                                                                       \
-    int __n = n;                                                             \
-    val = 0;                                                                 \
-    while (*rp == ' ')                                                       \
-      ++rp;                                                                  \
-    if (*rp < '0' || *rp > '9')                                                      \
-      return NULL;                                                           \
-    do {                                                                     \
-      val *= 10;                                                             \
-      val += *rp++ - '0';                                                    \
-    } while (--__n > 0 && val * 10 <= to && *rp >= '0' && *rp <= '9');       \
-    if (val < from || val > to)                                                      \
-      return NULL;                                                           \
-  } while (0)
-#ifdef _NL_CURRENT
-# define get_alt_number(from, to, n) \
-  ({                                                                         \
-    __label__ do_normal;                                                     \
-    if (*decided != raw)                                                     \
-      {                                                                              \
-       const char *alts = _NL_CURRENT (LC_TIME, ALT_DIGITS);                 \
-       int __n = n;                                                          \
-       int any = 0;                                                          \
-       while (*rp == ' ')                                                    \
-         ++rp;                                                               \
-       val = 0;                                                              \
-       do {                                                                  \
-         val *= 10;                                                          \
-         while (*alts != '\0')                                               \
-           {                                                                 \
-             size_t len = strlen (alts);                                     \
-             if (strncasecmp (alts, rp, len) == 0)                           \
-               break;                                                        \
-             alts += len + 1;                                                \
-             ++val;                                                          \
-           }                                                                 \
-         if (*alts == '\0')                                                  \
-           {                                                                 \
-             if (*decided == not && ! any)                                   \
-               goto do_normal;                                               \
-             /* If we haven't read anything it's an error.  */               \
-             if (! any)                                                      \
-               return NULL;                                                  \
-             /* Correct the premature multiplication.  */                    \
-             val /= 10;                                                      \
-             break;                                                          \
-           }                                                                 \
-         else                                                                \
-           *decided = loc;                                                   \
-       } while (--__n > 0 && val * 10 <= to);                                \
-       if (val < from || val > to)                                           \
-         return NULL;                                                        \
-      }                                                                              \
-    else                                                                     \
-      {                                                                              \
-       do_normal:                                                            \
-        get_number (from, to, n);                                            \
-      }                                                                              \
-    0;                                                                       \
-  })
-#else
-# define get_alt_number(from, to, n) \
-  /* We don't have the alternate representation.  */                         \
-  get_number(from, to, n)
-#endif
-#define recursive(new_fmt) \
-  (*(new_fmt) != '\0'                                                        \
-   && (rp = strptime_internal (rp, (new_fmt), tm, decided, era_cnt)) != NULL)
-
-
-#ifdef _LIBC
-/* This is defined in locale/C-time.c in the GNU libc.  */
-extern const struct locale_data _nl_C_LC_TIME;
-extern const unsigned short int __mon_yday[2][13];
-
-# define weekday_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (DAY_1)].string)
-# define ab_weekday_name \
-  (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABDAY_1)].string)
-# define month_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (MON_1)].string)
-# define ab_month_name (&_nl_C_LC_TIME.values[_NL_ITEM_INDEX (ABMON_1)].string)
-# define HERE_D_T_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (D_T_FMT)].string)
-# define HERE_D_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (D_FMT)].string)
-# define HERE_AM_STR (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (AM_STR)].string)
-# define HERE_PM_STR (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (PM_STR)].string)
-# define HERE_T_FMT_AMPM \
-  (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (T_FMT_AMPM)].string)
-# define HERE_T_FMT (_nl_C_LC_TIME.values[_NL_ITEM_INDEX (T_FMT)].string)
-
-# define strncasecmp(s1, s2, n) __strncasecmp (s1, s2, n)
-#else
-static char const weekday_name[][10] =
-  {
-    "Sunday", "Monday", "Tuesday", "Wednesday",
-    "Thursday", "Friday", "Saturday"
-  };
-static char const ab_weekday_name[][4] =
-  {
-    "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
-  };
-static char const month_name[][10] =
-  {
-    "January", "February", "March", "April", "May", "June",
-    "July", "August", "September", "October", "November", "December"
-  };
-static char const ab_month_name[][4] =
-  {
-    "Jan", "Feb", "Mar", "Apr", "May", "Jun",
-    "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
-  };
-# define HERE_D_T_FMT "%a %b %e %H:%M:%S %Y"
-# define HERE_D_FMT "%m/%d/%y"
-# define HERE_AM_STR "AM"
-# define HERE_PM_STR "PM"
-# define HERE_T_FMT_AMPM "%I:%M:%S %p"
-# define HERE_T_FMT "%H:%M:%S"
-
-static const unsigned short int __mon_yday[2][13] =
-  {
-    /* Normal years.  */
-    { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 },
-    /* Leap years.  */
-    { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 }
-  };
-#endif
-
-/* Status of lookup: do we use the locale data or the raw data?  */
-enum locale_status { not, loc, raw };
-
-
-#ifndef __isleap
-/* Nonzero if YEAR is a leap year (every 4 years,
-   except every 100th isn't, and every 400th is).  */
-# define __isleap(year)        \
-  ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
-#endif
-
-/* Compute the day of the week.  */
-static void
-day_of_the_week (struct tm *tm)
-{
-  /* We know that January 1st 1970 was a Thursday (= 4).  Compute the
-     the difference between this data in the one on TM and so determine
-     the weekday.  */
-  int corr_year = 1900 + tm->tm_year - (tm->tm_mon < 2);
-  int wday = (-473
-             + (365 * (tm->tm_year - 70))
-             + (corr_year / 4)
-             - ((corr_year / 4) / 25) + ((corr_year / 4) % 25 < 0)
-             + (((corr_year / 4) / 25) / 4)
-             + __mon_yday[0][tm->tm_mon]
-             + tm->tm_mday - 1);
-  tm->tm_wday = ((wday % 7) + 7) % 7;
-}
-
-/* Compute the day of the year.  */
-static void
-day_of_the_year (struct tm *tm)
-{
-  tm->tm_yday = (__mon_yday[__isleap (1900 + tm->tm_year)][tm->tm_mon]
-                + (tm->tm_mday - 1));
-}
-
-static char *
-#ifdef _LIBC
-internal_function
-#endif
-strptime_internal __P ((const char *rp, const char *fmt, struct tm *tm,
-                       enum locale_status *decided, int era_cnt));
-
-static char *
-#ifdef _LIBC
-internal_function
-#endif
-strptime_internal (rp, fmt, tm, decided, era_cnt)
-     const char *rp;
-     const char *fmt;
-     struct tm *tm;
-     enum locale_status *decided;
-     int era_cnt;
-{
-  const char *rp_backup;
-  int cnt;
-  size_t val;
-  int have_I, is_pm;
-  int century, want_century;
-  int want_era;
-  int have_wday, want_xday;
-  int have_yday;
-  int have_mon, have_mday;
-#ifdef _NL_CURRENT
-  size_t num_eras;
-#endif
-  struct era_entry *era;
-
-  have_I = is_pm = 0;
-  century = -1;
-  want_century = 0;
-  want_era = 0;
-  era = NULL;
-
-  have_wday = want_xday = have_yday = have_mon = have_mday = 0;
-
-  while (*fmt != '\0')
-    {
-      /* A white space in the format string matches 0 more or white
-        space in the input string.  */
-      if (isspace (*fmt))
-       {
-         while (isspace (*rp))
-           ++rp;
-         ++fmt;
-         continue;
-       }
-
-      /* Any character but `%' must be matched by the same character
-        in the iput string.  */
-      if (*fmt != '%')
-       {
-         match_char (*fmt++, *rp++);
-         continue;
-       }
-
-      ++fmt;
-#ifndef _NL_CURRENT
-      /* We need this for handling the `E' modifier.  */
-    start_over:
-#endif
-
-      /* Make back up of current processing pointer.  */
-      rp_backup = rp;
-
-      switch (*fmt++)
-       {
-       case '%':
-         /* Match the `%' character itself.  */
-         match_char ('%', *rp++);
-         break;
-       case 'a':
-       case 'A':
-         /* Match day of week.  */
-         for (cnt = 0; cnt < 7; ++cnt)
-           {
-#ifdef _NL_CURRENT
-             if (*decided !=raw)
-               {
-                 if (match_string (_NL_CURRENT (LC_TIME, DAY_1 + cnt), rp))
-                   {
-                     if (*decided == not
-                         && strcmp (_NL_CURRENT (LC_TIME, DAY_1 + cnt),
-                                    weekday_name[cnt]))
-                       *decided = loc;
-                     break;
-                   }
-                 if (match_string (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt), rp))
-                   {
-                     if (*decided == not
-                         && strcmp (_NL_CURRENT (LC_TIME, ABDAY_1 + cnt),
-                                    ab_weekday_name[cnt]))
-                       *decided = loc;
-                     break;
-                   }
-               }
-#endif
-             if (*decided != loc
-                 && (match_string (weekday_name[cnt], rp)
-                     || match_string (ab_weekday_name[cnt], rp)))
-               {
-                 *decided = raw;
-                 break;
-               }
-           }
-         if (cnt == 7)
-           /* Does not match a weekday name.  */
-           return NULL;
-         tm->tm_wday = cnt;
-         have_wday = 1;
-         break;
-       case 'b':
-       case 'B':
-       case 'h':
-         /* Match month name.  */
-         for (cnt = 0; cnt < 12; ++cnt)
-           {
-#ifdef _NL_CURRENT
-             if (*decided !=raw)
-               {
-                 if (match_string (_NL_CURRENT (LC_TIME, MON_1 + cnt), rp))
-                   {
-                     if (*decided == not
-                         && strcmp (_NL_CURRENT (LC_TIME, MON_1 + cnt),
-                                    month_name[cnt]))
-                       *decided = loc;
-                     break;
-                   }
-                 if (match_string (_NL_CURRENT (LC_TIME, ABMON_1 + cnt), rp))
-                   {
-                     if (*decided == not
-                         && strcmp (_NL_CURRENT (LC_TIME, ABMON_1 + cnt),
-                                    ab_month_name[cnt]))
-                       *decided = loc;
-                     break;
-                   }
-               }
-#endif
-             if (match_string (month_name[cnt], rp)
-                 || match_string (ab_month_name[cnt], rp))
-               {
-                 *decided = raw;
-                 break;
-               }
-           }
-         if (cnt == 12)
-           /* Does not match a month name.  */
-           return NULL;
-         tm->tm_mon = cnt;
-         want_xday = 1;
-         break;
-       case 'c':
-         /* Match locale's date and time format.  */
-#ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (!recursive (_NL_CURRENT (LC_TIME, D_T_FMT)))
-               {
-                 if (*decided == loc)
-                   return NULL;
-                 else
-                   rp = rp_backup;
-               }
-             else
-               {
-                 if (*decided == not &&
-                     strcmp (_NL_CURRENT (LC_TIME, D_T_FMT), HERE_D_T_FMT))
-                   *decided = loc;
-                 want_xday = 1;
-                 break;
-               }
-             *decided = raw;
-           }
-#endif
-         if (!recursive (HERE_D_T_FMT))
-           return NULL;
-         want_xday = 1;
-         break;
-       case 'C':
-         /* Match century number.  */
-#ifdef _NL_CURRENT
-       match_century:
-#endif
-         get_number (0, 99, 2);
-         century = val;
-         want_xday = 1;
-         break;
-       case 'd':
-       case 'e':
-         /* Match day of month.  */
-         get_number (1, 31, 2);
-         tm->tm_mday = val;
-         have_mday = 1;
-         want_xday = 1;
-         break;
-       case 'F':
-         if (!recursive ("%Y-%m-%d"))
-           return NULL;
-         want_xday = 1;
-         break;
-       case 'x':
-#ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (!recursive (_NL_CURRENT (LC_TIME, D_FMT)))
-               {
-                 if (*decided == loc)
-                   return NULL;
-                 else
-                   rp = rp_backup;
-               }
-             else
-               {
-                 if (*decided == not
-                     && strcmp (_NL_CURRENT (LC_TIME, D_FMT), HERE_D_FMT))
-                   *decided = loc;
-                 want_xday = 1;
-                 break;
-               }
-             *decided = raw;
-           }
-#endif
-         /* Fall through.  */
-       case 'D':
-         /* Match standard day format.  */
-         if (!recursive (HERE_D_FMT))
-           return NULL;
-         want_xday = 1;
-         break;
-       case 'k':
-       case 'H':
-         /* Match hour in 24-hour clock.  */
-         get_number (0, 23, 2);
-         tm->tm_hour = val;
-         have_I = 0;
-         break;
-       case 'I':
-         /* Match hour in 12-hour clock.  */
-         get_number (1, 12, 2);
-         tm->tm_hour = val % 12;
-         have_I = 1;
-         break;
-       case 'j':
-         /* Match day number of year.  */
-         get_number (1, 366, 3);
-         tm->tm_yday = val - 1;
-         have_yday = 1;
-         break;
-       case 'm':
-         /* Match number of month.  */
-         get_number (1, 12, 2);
-         tm->tm_mon = val - 1;
-         have_mon = 1;
-         want_xday = 1;
-         break;
-       case 'M':
-         /* Match minute.  */
-         get_number (0, 59, 2);
-         tm->tm_min = val;
-         break;
-       case 'n':
-       case 't':
-         /* Match any white space.  */
-         while (isspace (*rp))
-           ++rp;
-         break;
-       case 'p':
-         /* Match locale's equivalent of AM/PM.  */
-#ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (match_string (_NL_CURRENT (LC_TIME, AM_STR), rp))
-               {
-                 if (strcmp (_NL_CURRENT (LC_TIME, AM_STR), HERE_AM_STR))
-                   *decided = loc;
-                 break;
-               }
-             if (match_string (_NL_CURRENT (LC_TIME, PM_STR), rp))
-               {
-                 if (strcmp (_NL_CURRENT (LC_TIME, PM_STR), HERE_PM_STR))
-                   *decided = loc;
-                 is_pm = 1;
-                 break;
-               }
-             *decided = raw;
-           }
-#endif
-         if (!match_string (HERE_AM_STR, rp)) {
-           if (match_string (HERE_PM_STR, rp)) {
-             is_pm = 1;
-           } else {
-             return NULL;
-           }
-         }
-         break;
-       case 'r':
-#ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (!recursive (_NL_CURRENT (LC_TIME, T_FMT_AMPM)))
-               {
-                 if (*decided == loc)
-                   return NULL;
-                 else
-                   rp = rp_backup;
-               }
-             else
-               {
-                 if (*decided == not &&
-                     strcmp (_NL_CURRENT (LC_TIME, T_FMT_AMPM),
-                             HERE_T_FMT_AMPM))
-                   *decided = loc;
-                 break;
-               }
-             *decided = raw;
-           }
-#endif
-         if (!recursive (HERE_T_FMT_AMPM))
-           return NULL;
-         break;
-       case 'R':
-         if (!recursive ("%H:%M"))
-           return NULL;
-         break;
-       case 's':
-         {
-           /* The number of seconds may be very high so we cannot use
-              the `get_number' macro.  Instead read the number
-              character for character and construct the result while
-              doing this.  */
-           time_t secs = 0;
-           if (*rp < '0' || *rp > '9')
-             /* We need at least one digit.  */
-             return NULL;
-
-           do
-             {
-               secs *= 10;
-               secs += *rp++ - '0';
-             }
-           while (*rp >= '0' && *rp <= '9');
-
-           if (localtime_r (&secs, tm) == NULL)
-             /* Error in function.  */
-             return NULL;
-         }
-         break;
-       case 'S':
-         get_number (0, 61, 2);
-         tm->tm_sec = val;
-         break;
-       case 'X':
-#ifdef _NL_CURRENT
-         if (*decided != raw)
-           {
-             if (!recursive (_NL_CURRENT (LC_TIME, T_FMT)))
-               {
-                 if (*decided == loc)
-                   return NULL;
-                 else
-                   rp = rp_backup;
-               }
-             else
-               {
-                 if (strcmp (_NL_CURRENT (LC_TIME, T_FMT), HERE_T_FMT))
-                   *decided = loc;
-                 break;
-               }
-             *decided = raw;
-           }
-#endif
-         /* Fall through.  */
-       case 'T':
-         if (!recursive (HERE_T_FMT))
-           return NULL;
-         break;
-       case 'u':
-         get_number (1, 7, 1);
-         tm->tm_wday = val % 7;
-         have_wday = 1;
-         break;
-       case 'g':
-         get_number (0, 99, 2);
-         /* XXX This cannot determine any field in TM.  */
-         break;
-       case 'G':
-         if (*rp < '0' || *rp > '9')
-           return NULL;
-         /* XXX Ignore the number since we would need some more
-            information to compute a real date.  */
-         do
-           ++rp;
-         while (*rp >= '0' && *rp <= '9');
-         break;
-       case 'U':
-       case 'V':
-       case 'W':
-         get_number (0, 53, 2);
-         /* XXX This cannot determine any field in TM without some
-            information.  */
-         break;
-       case 'w':
-         /* Match number of weekday.  */
-         get_number (0, 6, 1);
-         tm->tm_wday = val;
-         have_wday = 1;
-         break;
-       case 'y':
-#ifdef _NL_CURRENT
-       match_year_in_century:
-#endif
-         /* Match year within century.  */
-         get_number (0, 99, 2);
-         /* The "Year 2000: The Millennium Rollover" paper suggests that
-            values in the range 69-99 refer to the twentieth century.  */
-         tm->tm_year = val >= 69 ? val : val + 100;
-         /* Indicate that we want to use the century, if specified.  */
-         want_century = 1;
-         want_xday = 1;
-         break;
-       case 'Y':
-         /* Match year including century number.  */
-         get_number (0, 9999, 4);
-         tm->tm_year = val - 1900;
-         want_century = 0;
-         want_xday = 1;
-         break;
-       case 'Z':
-         /* XXX How to handle this?  */
-         break;
-       case 'E':
-#ifdef _NL_CURRENT
-         switch (*fmt++)
-           {
-           case 'c':
-             /* Match locale's alternate date and time format.  */
-             if (*decided != raw)
-               {
-                 const char *fmt = _NL_CURRENT (LC_TIME, ERA_D_T_FMT);
-
-                 if (*fmt == '\0')
-                   fmt = _NL_CURRENT (LC_TIME, D_T_FMT);
-
-                 if (!recursive (fmt))
-                   {
-                     if (*decided == loc)
-                       return NULL;
-                     else
-                       rp = rp_backup;
-                   }
-                 else
-                   {
-                     if (strcmp (fmt, HERE_D_T_FMT))
-                       *decided = loc;
-                     want_xday = 1;
-                     break;
-                   }
-                 *decided = raw;
-               }
-             /* The C locale has no era information, so use the
-                normal representation.  */
-             if (!recursive (HERE_D_T_FMT))
-               return NULL;
-             want_xday = 1;
-             break;
-           case 'C':
-             if (*decided != raw)
-               {
-                 if (era_cnt >= 0)
-                   {
-                     era = _nl_select_era_entry (era_cnt);
-                     if (match_string (era->era_name, rp))
-                       {
-                         *decided = loc;
-                         break;
-                       }
-                     else
-                       return NULL;
-                   }
-                 else
-                   {
-                     num_eras = _NL_CURRENT_WORD (LC_TIME,
-                                                  _NL_TIME_ERA_NUM_ENTRIES);
-                     for (era_cnt = 0; era_cnt < (int) num_eras;
-                          ++era_cnt, rp = rp_backup)
-                       {
-                         era = _nl_select_era_entry (era_cnt);
-                         if (match_string (era->era_name, rp))
-                           {
-                             *decided = loc;
-                             break;
-                           }
-                       }
-                     if (era_cnt == (int) num_eras)
-                       {
-                         era_cnt = -1;
-                         if (*decided == loc)
-                           return NULL;
-                       }
-                     else
-                       break;
-                   }
-
-                 *decided = raw;
-               }
-             /* The C locale has no era information, so use the
-                normal representation.  */
-             goto match_century;
-           case 'y':
-             if (*decided == raw)
-               goto match_year_in_century;
-
-             get_number(0, 9999, 4);
-             tm->tm_year = val;
-             want_era = 1;
-             want_xday = 1;
-             break;
-           case 'Y':
-             if (*decided != raw)
-               {
-                 num_eras = _NL_CURRENT_WORD (LC_TIME,
-                                              _NL_TIME_ERA_NUM_ENTRIES);
-                 for (era_cnt = 0; era_cnt < (int) num_eras;
-                      ++era_cnt, rp = rp_backup)
-                   {
-                     era = _nl_select_era_entry (era_cnt);
-                     if (recursive (era->era_format))
-                       break;
-                   }
-                 if (era_cnt == (int) num_eras)
-                   {
-                     era_cnt = -1;
-                     if (*decided == loc)
-                       return NULL;
-                     else
-                       rp = rp_backup;
-                   }
-                 else
-                   {
-                     *decided = loc;
-                     era_cnt = -1;
-                     break;
-                   }
-
-                 *decided = raw;
-               }
-             get_number (0, 9999, 4);
-             tm->tm_year = val - 1900;
-             want_century = 0;
-             want_xday = 1;
-             break;
-           case 'x':
-             if (*decided != raw)
-               {
-                 const char *fmt = _NL_CURRENT (LC_TIME, ERA_D_FMT);
-
-                 if (*fmt == '\0')
-                   fmt = _NL_CURRENT (LC_TIME, D_FMT);
-
-                 if (!recursive (fmt))
-                   {
-                     if (*decided == loc)
-                       return NULL;
-                     else
-                       rp = rp_backup;
-                   }
-                 else
-                   {
-                     if (strcmp (fmt, HERE_D_FMT))
-                       *decided = loc;
-                     break;
-                   }
-                 *decided = raw;
-               }
-             if (!recursive (HERE_D_FMT))
-               return NULL;
-             break;
-           case 'X':
-             if (*decided != raw)
-               {
-                 const char *fmt = _NL_CURRENT (LC_TIME, ERA_T_FMT);
-
-                 if (*fmt == '\0')
-                   fmt = _NL_CURRENT (LC_TIME, T_FMT);
-
-                 if (!recursive (fmt))
-                   {
-                     if (*decided == loc)
-                       return NULL;
-                     else
-                       rp = rp_backup;
-                   }
-                 else
-                   {
-                     if (strcmp (fmt, HERE_T_FMT))
-                       *decided = loc;
-                     break;
-                   }
-                 *decided = raw;
-               }
-             if (!recursive (HERE_T_FMT))
-               return NULL;
-             break;
-           default:
-             return NULL;
-           }
-         break;
-#else
-         /* We have no information about the era format.  Just use
-            the normal format.  */
-         if (*fmt != 'c' && *fmt != 'C' && *fmt != 'y' && *fmt != 'Y'
-             && *fmt != 'x' && *fmt != 'X')
-           /* This is an illegal format.  */
-           return NULL;
-
-         goto start_over;
-#endif
-       case 'O':
-         switch (*fmt++)
-           {
-           case 'd':
-           case 'e':
-             /* Match day of month using alternate numeric symbols.  */
-             get_alt_number (1, 31, 2);
-             tm->tm_mday = val;
-             have_mday = 1;
-             want_xday = 1;
-             break;
-           case 'H':
-             /* Match hour in 24-hour clock using alternate numeric
-                symbols.  */
-             get_alt_number (0, 23, 2);
-             tm->tm_hour = val;
-             have_I = 0;
-             break;
-           case 'I':
-             /* Match hour in 12-hour clock using alternate numeric
-                symbols.  */
-             get_alt_number (1, 12, 2);
-             tm->tm_hour = val - 1;
-             have_I = 1;
-             break;
-           case 'm':
-             /* Match month using alternate numeric symbols.  */
-             get_alt_number (1, 12, 2);
-             tm->tm_mon = val - 1;
-             have_mon = 1;
-             want_xday = 1;
-             break;
-           case 'M':
-             /* Match minutes using alternate numeric symbols.  */
-             get_alt_number (0, 59, 2);
-             tm->tm_min = val;
-             break;
-           case 'S':
-             /* Match seconds using alternate numeric symbols.  */
-             get_alt_number (0, 61, 2);
-             tm->tm_sec = val;
-             break;
-           case 'U':
-           case 'V':
-           case 'W':
-             get_alt_number (0, 53, 2);
-             /* XXX This cannot determine any field in TM without
-                further information.  */
-             break;
-           case 'w':
-             /* Match number of weekday using alternate numeric symbols.  */
-             get_alt_number (0, 6, 1);
-             tm->tm_wday = val;
-             have_wday = 1;
-             break;
-           case 'y':
-             /* Match year within century using alternate numeric symbols.  */
-             get_alt_number (0, 99, 2);
-             tm->tm_year = val >= 69 ? val : val + 100;
-             want_xday = 1;
-             break;
-           default:
-             return NULL;
-           }
-         break;
-       default:
-         return NULL;
-       }
-    }
-
-  if (have_I && is_pm)
-    tm->tm_hour += 12;
-
-  if (century != -1)
-    {
-      if (want_century)
-       tm->tm_year = tm->tm_year % 100 + (century - 19) * 100;
-      else
-       /* Only the century, but not the year.  Strange, but so be it.  */
-       tm->tm_year = (century - 19) * 100;
-    }
-
-#ifdef _NL_CURRENT
-  if (era_cnt != -1)
-    {
-      era = _nl_select_era_entry(era_cnt);
-      if (want_era)
-       tm->tm_year = (era->start_date[0]
-                      + ((tm->tm_year - era->offset)
-                         * era->absolute_direction));
-      else
-       /* Era start year assumed.  */
-       tm->tm_year = era->start_date[0];
-    }
-  else
-#endif
-    if (want_era)
-      return NULL;
-
-  if (want_xday && !have_wday)
-    {
-      if ( !(have_mon && have_mday) && have_yday)
-       {
-         /* We don't have tm_mon and/or tm_mday, compute them.  */
-         int t_mon = 0;
-         while (__mon_yday[__isleap(1900 + tm->tm_year)][t_mon] <= tm->tm_yday)
-             t_mon++;
-         if (!have_mon)
-             tm->tm_mon = t_mon - 1;
-         if (!have_mday)
-             tm->tm_mday =
-               (tm->tm_yday
-                - __mon_yday[__isleap(1900 + tm->tm_year)][t_mon - 1] + 1);
-       }
-      day_of_the_week (tm);
-    }
-  if (want_xday && !have_yday)
-    day_of_the_year (tm);
-
-  return discard_const_p(char, rp);
-}
-
-
-char *rep_strptime(const char *buf, const char *format, struct tm *tm)
-{
-  enum locale_status decided;
-
-#ifdef _NL_CURRENT
-  decided = not;
-#else
-  decided = raw;
-#endif
-  return strptime_internal (buf, format, tm, &decided, -1);
-}
diff --git a/source4/lib/replace/strptime.m4 b/source4/lib/replace/strptime.m4
deleted file mode 100644 (file)
index da22fc5..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-AC_CACHE_CHECK([whether strptime is available and works],libreplace_cv_STRPTIME_OK,[
-       AC_TRY_RUN([
-               #define LIBREPLACE_CONFIGURE_TEST_STRPTIME
-               #include "$libreplacedir/test/strptime.c"
-               ],
-               [libreplace_cv_STRPTIME_OK=yes],
-               [libreplace_cv_STRPTIME_OK=no],
-               [libreplace_cv_STRPTIME_OK="assuming not"])
-])
-if test x"$libreplace_cv_STRPTIME_OK" != x"yes"; then
-        AC_DEFINE(REPLACE_STRPTIME,1,[Whether strptime should be replaced])
-        LIBREPLACEOBJ="${LIBREPLACEOBJ} strptime.o"
-fi
diff --git a/source4/lib/replace/system/README b/source4/lib/replace/system/README
deleted file mode 100644 (file)
index 69a2b80..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-This directory contains wrappers around logical groups of system
-include files. The idea is to avoid #ifdef blocks in the main code,
-and instead put all the necessary conditional includes in subsystem
-specific header files in this directory.
diff --git a/source4/lib/replace/system/aio.h b/source4/lib/replace/system/aio.h
deleted file mode 100644 (file)
index 784d77f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _system_aio_h
-#define _system_aio_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   AIO system include wrappers
-
-   Copyright (C) Andrew Tridgell 2006
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifdef HAVE_LIBAIO_H
-#include <libaio.h>
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/capability.h b/source4/lib/replace/system/capability.h
deleted file mode 100644 (file)
index a7b78f0..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _system_capability_h
-#define _system_capability_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   capability system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifdef HAVE_SYS_CAPABILITY_H
-
-#if defined(BROKEN_REDHAT_7_SYSTEM_HEADERS) && !defined(_I386_STATFS_H) && !defined(_PPC_STATFS_H)
-#define _I386_STATFS_H
-#define _PPC_STATFS_H
-#define BROKEN_REDHAT_7_STATFS_WORKAROUND
-#endif
-
-#if defined(BROKEN_RHEL5_SYS_CAP_HEADER) && !defined(_LINUX_TYPES_H)
-#define BROKEN_RHEL5_SYS_CAP_HEADER_WORKAROUND
-#endif
-
-#include <sys/capability.h>
-
-#ifdef BROKEN_RHEL5_SYS_CAP_HEADER_WORKAROUND
-#undef _LINUX_TYPES_H
-#undef BROKEN_RHEL5_SYS_CAP_HEADER_WORKAROUND
-#endif
-
-#ifdef BROKEN_REDHAT_7_STATFS_WORKAROUND
-#undef _PPC_STATFS_H
-#undef _I386_STATFS_H
-#undef BROKEN_REDHAT_7_STATFS_WORKAROUND
-#endif
-
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/config.m4 b/source4/lib/replace/system/config.m4
deleted file mode 100644 (file)
index 5c9b53d..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-# filesys
-AC_HEADER_DIRENT 
-AC_CHECK_HEADERS(fcntl.h sys/fcntl.h sys/resource.h sys/ioctl.h sys/mode.h sys/filio.h sys/fs/s5param.h sys/filsys.h)
-AC_CHECK_HEADERS(sys/acl.h acl/libacl.h)
-
-# select
-AC_CHECK_HEADERS(sys/select.h)
-
-# time
-AC_CHECK_HEADERS(sys/time.h utime.h)
-AC_HEADER_TIME
-AC_CHECK_FUNCS(utime utimes)
-
-# wait
-AC_HEADER_SYS_WAIT
-
-# capability
-AC_CHECK_HEADERS(sys/capability.h)
-
-case "$host_os" in
-*linux*)
-AC_CACHE_CHECK([for broken RedHat 7.2 system header files],libreplace_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS,[
-AC_TRY_COMPILE([
-       #ifdef HAVE_SYS_VFS_H
-       #include <sys/vfs.h>
-       #endif
-       #ifdef HAVE_SYS_CAPABILITY_H
-       #include <sys/capability.h>
-       #endif
-       ],[
-       int i;
-       ],
-       libreplace_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=no,
-       libreplace_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=yes
-)])
-if test x"$libreplace_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS" = x"yes"; then
-       AC_DEFINE(BROKEN_REDHAT_7_SYSTEM_HEADERS,1,[Broken RedHat 7.2 system header files])
-fi
-
-AC_CACHE_CHECK([for broken RHEL5 sys/capability.h],libreplace_cv_BROKEN_RHEL5_SYS_CAP_HEADER,[
-AC_TRY_COMPILE([
-       #ifdef HAVE_SYS_CAPABILITY_H
-       #include <sys/capability.h>
-       #endif
-       #include <linux/types.h>
-       ],[
-       __s8 i;
-       ],
-       libreplace_cv_BROKEN_RHEL5_SYS_CAP_HEADER=no,
-       libreplace_cv_BROKEN_RHEL5_SYS_CAP_HEADER=yes
-)])
-if test x"$libreplace_cv_BROKEN_RHEL5_SYS_CAP_HEADER" = x"yes"; then
-       AC_DEFINE(BROKEN_RHEL5_SYS_CAP_HEADER,1,[Broken RHEL5 sys/capability.h])
-fi
-;;
-esac
-
-# passwd
-AC_CHECK_HEADERS(grp.h sys/id.h compat.h shadow.h sys/priv.h pwd.h sys/security.h)
-AC_CHECK_FUNCS(getpwnam_r getpwuid_r getpwent_r)
-AC_HAVE_DECL(getpwent_r, [
-       #include <unistd.h>
-       #include <pwd.h>
-       ])
-AC_VERIFY_C_PROTOTYPE([struct passwd *getpwent_r(struct passwd *src, char *buf, int buflen)],
-       [
-       #ifndef HAVE_GETPWENT_R_DECL
-       #error missing getpwent_r prototype
-       #endif
-       return NULL;
-       ],[
-       AC_DEFINE(SOLARIS_GETPWENT_R, 1, [getpwent_r solaris function prototype])
-       ],[],[
-       #include <unistd.h>
-       #include <pwd.h>
-       ])
-AC_VERIFY_C_PROTOTYPE([struct passwd *getpwent_r(struct passwd *src, char *buf, size_t buflen)],
-       [
-       #ifndef HAVE_GETPWENT_R_DECL
-       #error missing getpwent_r prototype
-       #endif
-       return NULL;
-       ],[
-       AC_DEFINE(SOLARIS_GETPWENT_R, 1, [getpwent_r irix (similar to solaris) function prototype])
-       ],[],[
-       #include <unistd.h>
-       #include <pwd.h>
-       ])
-AC_CHECK_FUNCS(getgrnam_r getgrgid_r getgrent_r)
-AC_HAVE_DECL(getgrent_r, [
-       #include <unistd.h>
-       #include <grp.h>
-       ])
-AC_VERIFY_C_PROTOTYPE([struct group *getgrent_r(struct group *src, char *buf, int buflen)],
-       [
-       #ifndef HAVE_GETGRENT_R_DECL
-       #error missing getgrent_r prototype
-       #endif
-       return NULL;
-       ],[
-       AC_DEFINE(SOLARIS_GETGRENT_R, 1, [getgrent_r solaris function prototype])
-       ],[],[
-       #include <unistd.h>
-       #include <grp.h>
-       ])
-
-AC_VERIFY_C_PROTOTYPE([struct group *getgrent_r(struct group *src, char *buf, size_t buflen)],
-       [
-       #ifndef HAVE_GETGRENT_R_DECL
-       #error missing getgrent_r prototype
-       #endif
-       return NULL;
-       ],[
-       AC_DEFINE(SOLARIS_GETGRENT_R, 1, [getgrent_r irix (similar to solaris)  function prototype])
-       ],[],[
-       #include <unistd.h>
-       #include <grp.h>
-       ])
-
-# locale
-AC_CHECK_HEADERS(ctype.h locale.h)
-
-# glob
-AC_CHECK_HEADERS(fnmatch.h)
-
-# shmem
-AC_CHECK_HEADERS(sys/ipc.h sys/mman.h sys/shm.h )
-
-# terminal
-AC_CHECK_HEADERS(termios.h termio.h sys/termio.h )
diff --git a/source4/lib/replace/system/dir.h b/source4/lib/replace/system/dir.h
deleted file mode 100644 (file)
index dec2d54..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _system_dir_h
-#define _system_dir_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   directory system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#if HAVE_DIRENT_H
-# include <dirent.h>
-# define NAMLEN(dirent) strlen((dirent)->d_name)
-#else
-# define dirent direct
-# define NAMLEN(dirent) (dirent)->d_namlen
-# if HAVE_SYS_NDIR_H
-#  include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-#  include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-#  include <ndir.h>
-# endif
-#endif
-
-#ifndef HAVE_MKDIR_MODE
-#define mkdir(dir, mode) mkdir(dir)
-#endif
-
-/* Test whether a file name is the "." or ".." directory entries.
- * These really should be inline functions.
- */
-#ifndef ISDOT
-#define ISDOT(path) ( \
-                       *((const char *)(path)) == '.' && \
-                       *(((const char *)(path)) + 1) == '\0' \
-                   )
-#endif
-
-#ifndef ISDOTDOT
-#define ISDOTDOT(path) ( \
-                           *((const char *)(path)) == '.' && \
-                           *(((const char *)(path)) + 1) == '.' && \
-                           *(((const char *)(path)) + 2) == '\0' \
-                       )
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/filesys.h b/source4/lib/replace/system/filesys.h
deleted file mode 100644 (file)
index 4bf1f64..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-#ifndef _system_filesys_h
-#define _system_filesys_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   filesystem system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#include <unistd.h>
-#include <sys/stat.h>
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#ifdef HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
-#endif
-
-#ifdef HAVE_MNTENT_H
-#include <mntent.h>
-#endif
-
-#ifdef HAVE_SYS_VFS_H
-#include <sys/vfs.h>
-#endif
-
-#ifdef HAVE_SYS_ACL_H
-#include <sys/acl.h>
-#endif
-
-#ifdef HAVE_ACL_LIBACL_H
-#include <acl/libacl.h>
-#endif
-
-#ifdef HAVE_SYS_FS_S5PARAM_H 
-#include <sys/fs/s5param.h>
-#endif
-
-#if defined (HAVE_SYS_FILSYS_H) && !defined (_CRAY)
-#include <sys/filsys.h> 
-#endif
-
-#ifdef HAVE_SYS_STATFS_H
-# include <sys/statfs.h>
-#endif
-
-#ifdef HAVE_DUSTAT_H              
-#include <sys/dustat.h>
-#endif
-
-#ifdef HAVE_SYS_STATVFS_H          
-#include <sys/statvfs.h>
-#endif
-
-#ifdef HAVE_SYS_FILIO_H
-#include <sys/filio.h>
-#endif
-
-#include <sys/file.h>
-
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#else
-#ifdef HAVE_SYS_FCNTL_H
-#include <sys/fcntl.h>
-#endif
-#endif
-
-#ifdef HAVE_SYS_MODE_H
-/* apparently AIX needs this for S_ISLNK */
-#ifndef S_ISLNK
-#include <sys/mode.h>
-#endif
-#endif
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-/*
- * Veritas File System.  Often in addition to native.
- * Quotas different.
- */
-#if defined(HAVE_SYS_FS_VX_QUOTA_H)
-#define VXFS_QUOTA
-#endif
-
-#if HAVE_SYS_ATTRIBUTES_H
-#include <sys/attributes.h>
-#endif
-
-/* mutually exclusive (SuSE 8.2) */
-#if HAVE_ATTR_XATTR_H
-#include <attr/xattr.h>
-#elif HAVE_SYS_XATTR_H
-#include <sys/xattr.h>
-#endif
-
-
-#ifdef HAVE_SYS_RESOURCE_H
-#include <sys/resource.h>
-#endif
-
-/* Some POSIX definitions for those without */
-#ifndef S_IFDIR
-#define S_IFDIR         0x4000
-#endif
-#ifndef S_ISDIR
-#define S_ISDIR(mode)   ((mode & 0xF000) == S_IFDIR)
-#endif
-#ifndef S_IRWXU
-#define S_IRWXU 00700           /* read, write, execute: owner */
-#endif
-#ifndef S_IRUSR
-#define S_IRUSR 00400           /* read permission: owner */
-#endif
-#ifndef S_IWUSR
-#define S_IWUSR 00200           /* write permission: owner */
-#endif
-#ifndef S_IXUSR
-#define S_IXUSR 00100           /* execute permission: owner */
-#endif
-#ifndef S_IRWXG
-#define S_IRWXG 00070           /* read, write, execute: group */
-#endif
-#ifndef S_IRGRP
-#define S_IRGRP 00040           /* read permission: group */
-#endif
-#ifndef S_IWGRP
-#define S_IWGRP 00020           /* write permission: group */
-#endif
-#ifndef S_IXGRP
-#define S_IXGRP 00010           /* execute permission: group */
-#endif
-#ifndef S_IRWXO
-#define S_IRWXO 00007           /* read, write, execute: other */
-#endif
-#ifndef S_IROTH
-#define S_IROTH 00004           /* read permission: other */
-#endif
-#ifndef S_IWOTH
-#define S_IWOTH 00002           /* write permission: other */
-#endif
-#ifndef S_IXOTH
-#define S_IXOTH 00001           /* execute permission: other */
-#endif
-
-#ifndef O_ACCMODE
-#define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
-#endif
-
-#ifndef MAXPATHLEN
-#define MAXPATHLEN 256
-#endif
-
-#ifndef SEEK_SET
-#define SEEK_SET 0
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/glob.h b/source4/lib/replace/system/glob.h
deleted file mode 100644 (file)
index 3e23db6..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _system_glob_h
-#define _system_glob_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   glob system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_GLOB_H
-#include <glob.h>
-#endif
-
-#ifdef HAVE_FNMATCH_H
-#include <fnmatch.h>
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/iconv.h b/source4/lib/replace/system/iconv.h
deleted file mode 100644 (file)
index 3c8a71f..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _system_iconv_h
-#define _system_iconv_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   iconv memory system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#if !defined(HAVE_ICONV) && defined(HAVE_ICONV_H)
-#define HAVE_ICONV
-#endif
-
-#if !defined(HAVE_GICONV) && defined(HAVE_GICONV_H)
-#define HAVE_GICONV
-#endif
-
-#if !defined(HAVE_BICONV) && defined(HAVE_BICONV_H)
-#define HAVE_BICONV
-#endif
-
-#ifdef HAVE_NATIVE_ICONV
-#if defined(HAVE_ICONV)
-#include <iconv.h>
-#elif defined(HAVE_GICONV)
-#include <giconv.h>
-#elif defined(HAVE_BICONV)
-#include <biconv.h>
-#endif
-#endif /* HAVE_NATIVE_ICONV */
-
-/* needed for some systems without iconv. Doesn't really matter
-   what error code we use */
-#ifndef EILSEQ
-#define EILSEQ EIO
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/kerberos.h b/source4/lib/replace/system/kerberos.h
deleted file mode 100644 (file)
index 2981024..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-#ifndef _system_kerberos_h
-#define _system_kerberos_h
-
-/* 
-   Unix SMB/CIFS implementation.
-
-   kerberos system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_KRB5
-/* Whether the krb5_address struct has a addrtype property */
-/* #undef HAVE_ADDRTYPE_IN_KRB5_ADDRESS */
-/* Whether the krb5_address struct has a addr_type property */
-#define HAVE_ADDR_TYPE_IN_KRB5_ADDRESS 1
-/* Define to 1 if you have the `gsskrb5_extract_authz_data_from_sec_context' */
-#define HAVE_GSSKRB5_EXTRACT_AUTHZ_DATA_FROM_SEC_CONTEXT 1
-/* Define to 1 if you have the `gsskrb5_get_initiator_subkey' function. */
-#define HAVE_GSSKRB5_GET_INITIATOR_SUBKEY 1
-/* Define to 1 if you have the `gsskrb5_register_acceptor_identity' function. */
-#define HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY 1
-/* Define to 1 if you have the `gss_krb5_ccache_name' function. */
-#define HAVE_GSS_KRB5_CCACHE_NAME 1
-/* Define to 1 if you have the `krb5_addlog_func' function. */
-#define HAVE_KRB5_ADDLOG_FUNC 1
-/* Define to 1 if you have the `krb5_auth_con_setkey' function. */
-#define HAVE_KRB5_AUTH_CON_SETKEY 1
-/* Define to 1 if you have the `krb5_auth_con_setuseruserkey' function. */
-/* #undef HAVE_KRB5_AUTH_CON_SETUSERUSERKEY */
-/* Define to 1 if you have the `krb5_c_enctype_compare' function. */
-#define HAVE_KRB5_C_ENCTYPE_COMPARE 1
-/* Define to 1 if you have the `krb5_c_verify_checksum' function. */
-#define HAVE_KRB5_C_VERIFY_CHECKSUM 1
-/* Whether the type krb5_encrypt_block exists */
-/* #undef HAVE_KRB5_ENCRYPT_BLOCK */
-/* Define to 1 if you have the `krb5_encrypt_data' function. */
-/* #undef HAVE_KRB5_ENCRYPT_DATA */
-/* Define to 1 if you have the `krb5_enctypes_compatible_keys' function. */
-#define HAVE_KRB5_ENCTYPES_COMPATIBLE_KEYS 1
-/* Define to 1 if you have the `krb5_free_data_contents' function. */
-#define HAVE_KRB5_FREE_DATA_CONTENTS 1
-/* Define to 1 if you have the `krb5_free_error_string' function. */
-#define HAVE_KRB5_FREE_ERROR_STRING 1
-/* Define to 1 if you have the `krb5_free_keytab_entry_contents' function. */
-/* #undef HAVE_KRB5_FREE_KEYTAB_ENTRY_CONTENTS */
-/* Define to 1 if you have the `krb5_free_ktypes' function. */
-/* #undef HAVE_KRB5_FREE_KTYPES */
-/* Define to 1 if you have the `krb5_free_unparsed_name' function. */
-/* #undef HAVE_KRB5_FREE_UNPARSED_NAME */
-/* Define to 1 if you have the `krb5_get_default_in_tkt_etypes' function. */
-#define HAVE_KRB5_GET_DEFAULT_IN_TKT_ETYPES 1
-/* Define to 1 if you have the `krb5_get_error_string' function. */
-#define HAVE_KRB5_GET_ERROR_STRING 1
-/* Define to 1 if you have the `krb5_get_permitted_enctypes' function. */
-/* #undef HAVE_KRB5_GET_PERMITTED_ENCTYPES */
-/* Define to 1 if you have the `krb5_get_pw_salt' function. */
-#define HAVE_KRB5_GET_PW_SALT 1
-/* Define to 1 if you have the <krb5.h> header file. */
-#define HAVE_KRB5_H 1
-/* Define to 1 if you have the `krb5_initlog' function. */
-#define HAVE_KRB5_INITLOG 1
-/* Define to 1 if you have the `krb5_kdc_default_config' function. */
-#define HAVE_KRB5_KDC_DEFAULT_CONFIG 1
-/* Whether the krb5_creds struct has a keyblock property */
-/* #undef HAVE_KRB5_KEYBLOCK_IN_CREDS */
-/* Whether the krb5_keyblock struct has a keyvalue property */
-#define HAVE_KRB5_KEYBLOCK_KEYVALUE 1
-/* Whether krb5_keytab_entry has key member */
-/* #undef HAVE_KRB5_KEYTAB_ENTRY_KEY */
-/* Whether krb5_keytab_entry has keyblock member */
-#define HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK 1
-/* Define to 1 if you have the `krb5_krbhst_get_addrinfo' function. */
-#define HAVE_KRB5_KRBHST_GET_ADDRINFO 1
-/* Define to 1 if you have the `krb5_kt_compare' function. */
-#define HAVE_KRB5_KT_COMPARE 1
-/* Define to 1 if you have the `krb5_kt_free_entry' function. */
-#define HAVE_KRB5_KT_FREE_ENTRY 1
-/* Whether the type krb5_log_facility exists */
-#define HAVE_KRB5_LOG_FACILITY 1
-/* Define to 1 if you have the `krb5_mk_req_extended' function. */
-#define HAVE_KRB5_MK_REQ_EXTENDED 1
-/* Define to 1 if you have the `krb5_principal2salt' function. */
-/* #undef HAVE_KRB5_PRINCIPAL2SALT */
-/* Define to 1 if you have the `krb5_principal_get_comp_string' function. */
-#define HAVE_KRB5_PRINCIPAL_GET_COMP_STRING 1
-/* Whether krb5_princ_component is available */
-/* #undef HAVE_KRB5_PRINC_COMPONENT */
-/* Whether the krb5_creds struct has a session property */
-#define HAVE_KRB5_SESSION_IN_CREDS 1
-/* Define to 1 if you have the `krb5_set_default_in_tkt_etypes' function. */
-#define HAVE_KRB5_SET_DEFAULT_IN_TKT_ETYPES 1
-/* Define to 1 if you have the `krb5_set_default_tgs_ktypes' function. */
-/* #undef HAVE_KRB5_SET_DEFAULT_TGS_KTYPES */
-/* Define to 1 if you have the `krb5_set_real_time' function. */
-#define HAVE_KRB5_SET_REAL_TIME 1
-/* Define to 1 if you have the `krb5_set_warn_dest' function. */
-#define HAVE_KRB5_SET_WARN_DEST 1
-/* Define to 1 if you have the `krb5_string_to_key' function. */
-#define HAVE_KRB5_STRING_TO_KEY 1
-/* Define to 1 if you have the `krb5_string_to_key_salt' function. */
-#define HAVE_KRB5_STRING_TO_KEY_SALT 1
-/* Define to 1 if you have the `krb5_ticket_get_authorization_data_type' */
-#define HAVE_KRB5_TICKET_GET_AUTHORIZATION_DATA_TYPE 1
-/* Whether the krb5_ticket struct has a enc_part2 property */
-/* #undef HAVE_KRB5_TKT_ENC_PART2 */
-/* Define to 1 if you have the `krb5_use_enctype' function. */
-/* #undef HAVE_KRB5_USE_ENCTYPE */
-/* Define to 1 if you have the `krb5_verify_checksum' function. */
-#define HAVE_KRB5_VERIFY_CHECKSUM 1
-/* Whether krb5_princ_realm returns krb5_realm or krb5_data */
-#define KRB5_PRINC_REALM_RETURNS_REALM 1
-
-#include <krb5.h>
-#include <com_err.h>
-
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/locale.h b/source4/lib/replace/system/locale.h
deleted file mode 100644 (file)
index e73a9bb..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef _system_locale_h
-#define _system_locale_h
-
-/* 
-   Unix SMB/CIFS implementation.
-
-   locale include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_CTYPE_H
-#include <ctype.h>
-#endif
-
-#ifdef HAVE_LOCALE_H
-#include <locale.h>
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/network.h b/source4/lib/replace/system/network.h
deleted file mode 100644 (file)
index 077892a..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-#ifndef _system_network_h
-#define _system_network_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   networking system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   Copyright (C) Jelmer Vernooij 2007
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifndef LIBREPLACE_NETWORK_CHECKS
-#error "AC_LIBREPLACE_NETWORK_CHECKS missing in configure"
-#endif
-
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#ifdef HAVE_UNIXSOCKET
-#include <sys/un.h>
-#endif
-
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-
-#ifdef HAVE_NETINET_TCP_H
-#include <netinet/tcp.h>
-#endif
-
-/*
- * The next three defines are needed to access the IPTOS_* options
- * on some systems.
- */
-
-#ifdef HAVE_NETINET_IN_SYSTM_H
-#include <netinet/in_systm.h>
-#endif
-
-#ifdef HAVE_NETINET_IN_IP_H
-#include <netinet/in_ip.h>
-#endif
-
-#ifdef HAVE_NETINET_IP_H
-#include <netinet/ip.h>
-#endif
-
-#ifdef HAVE_NET_IF_H
-#include <net/if.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_SYS_IOCTL_H
-#include <sys/ioctl.h>
-#endif
-
-#ifdef HAVE_STROPTS_H
-#include <stropts.h>
-#endif
-
-#ifndef HAVE_SOCKLEN_T
-#define HAVE_SOCKLEN_T
-typedef int socklen_t;
-#endif
-
-#if !defined (HAVE_INET_NTOA) || defined(REPLACE_INET_NTOA)
-/* define is in "replace.h" */
-char *rep_inet_ntoa(struct in_addr ip);
-#endif
-
-#ifndef HAVE_INET_PTON
-/* define is in "replace.h" */
-int rep_inet_pton(int af, const char *src, void *dst);
-#endif
-
-#ifndef HAVE_INET_NTOP
-/* define is in "replace.h" */
-const char *rep_inet_ntop(int af, const void *src, char *dst, socklen_t size);
-#endif
-
-#ifndef HAVE_INET_ATON
-/* define is in "replace.h" */
-int rep_inet_aton(const char *src, struct in_addr *dst);
-#endif
-
-#ifndef HAVE_CONNECT
-/* define is in "replace.h" */
-int rep_connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
-#endif
-
-#ifndef HAVE_GETHOSTBYNAME
-/* define is in "replace.h" */
-struct hostent *rep_gethostbyname(const char *name);
-#endif
-
-#ifdef HAVE_IFADDRS_H
-#include <ifaddrs.h>
-#endif
-
-#ifndef HAVE_STRUCT_IFADDRS
-struct ifaddrs {
-       struct ifaddrs   *ifa_next;         /* Pointer to next struct */
-       char             *ifa_name;         /* Interface name */
-       unsigned int     ifa_flags;         /* Interface flags */
-       struct sockaddr  *ifa_addr;         /* Interface address */
-       struct sockaddr  *ifa_netmask;      /* Interface netmask */
-#undef ifa_dstaddr
-       struct sockaddr  *ifa_dstaddr;      /* P2P interface destination */
-       void             *ifa_data;         /* Address specific data */
-};
-#endif
-
-#ifndef HAVE_GETIFADDRS
-int rep_getifaddrs(struct ifaddrs **);
-#endif
-
-#ifndef HAVE_FREEIFADDRS
-void rep_freeifaddrs(struct ifaddrs *);
-#endif
-
-#ifndef HAVE_SOCKETPAIR
-/* define is in "replace.h" */
-int rep_socketpair(int d, int type, int protocol, int sv[2]);
-#endif
-
-/*
- * Some systems have getaddrinfo but not the
- * defines needed to use it.
- */
-
-/* Various macros that ought to be in <netdb.h>, but might not be */
-
-#ifndef EAI_FAIL
-#define EAI_BADFLAGS   (-1)
-#define EAI_NONAME     (-2)
-#define EAI_AGAIN      (-3)
-#define EAI_FAIL       (-4)
-#define EAI_FAMILY     (-6)
-#define EAI_SOCKTYPE   (-7)
-#define EAI_SERVICE    (-8)
-#define EAI_MEMORY     (-10)
-#define EAI_SYSTEM     (-11)
-#endif   /* !EAI_FAIL */
-
-#ifndef AI_PASSIVE
-#define AI_PASSIVE     0x0001
-#endif
-
-#ifndef AI_CANONNAME
-#define AI_CANONNAME   0x0002
-#endif
-
-#ifndef AI_NUMERICHOST
-/*
- * some platforms don't support AI_NUMERICHOST; define as zero if using
- * the system version of getaddrinfo...
- */
-#if defined(HAVE_STRUCT_ADDRINFO) && defined(HAVE_GETADDRINFO)
-#define AI_NUMERICHOST 0
-#else
-#define AI_NUMERICHOST 0x0004
-#endif
-#endif
-
-#ifndef AI_ADDRCONFIG
-/*
- * logic copied from AI_NUMERICHOST
- */
-#if defined(HAVE_STRUCT_ADDRINFO) && defined(HAVE_GETADDRINFO)
-#define AI_ADDRCONFIG  0
-#else
-#define AI_ADDRCONFIG  0x0020
-#endif
-#endif
-
-#ifndef AI_NUMERICSERV
-/*
- * logic copied from AI_NUMERICHOST
- */
-#if defined(HAVE_STRUCT_ADDRINFO) && defined(HAVE_GETADDRINFO)
-#define AI_NUMERICSERV 0
-#else
-#define AI_NUMERICSERV 0x0400
-#endif
-#endif
-
-#ifndef NI_NUMERICHOST
-#define NI_NUMERICHOST 1
-#endif
-
-#ifndef NI_NUMERICSERV
-#define NI_NUMERICSERV 2
-#endif
-
-#ifndef NI_NOFQDN
-#define NI_NOFQDN      4
-#endif
-
-#ifndef NI_NAMEREQD
-#define NI_NAMEREQD    8
-#endif
-
-#ifndef NI_DGRAM
-#define NI_DGRAM       16
-#endif
-
-
-#ifndef NI_MAXHOST
-#define NI_MAXHOST     1025
-#endif
-
-#ifndef NI_MAXSERV
-#define NI_MAXSERV     32
-#endif
-
-/*
- * glibc on linux doesn't seem to have MSG_WAITALL
- * defined. I think the kernel has it though..
- */
-#ifndef MSG_WAITALL
-#define MSG_WAITALL 0
-#endif
-
-#ifndef INADDR_LOOPBACK
-#define INADDR_LOOPBACK 0x7f000001
-#endif
-
-#ifndef INADDR_NONE
-#define INADDR_NONE 0xffffffff
-#endif
-
-#ifndef EAFNOSUPPORT
-#define EAFNOSUPPORT EINVAL
-#endif
-
-#ifndef INET_ADDRSTRLEN
-#define INET_ADDRSTRLEN 16
-#endif
-
-#ifndef INET6_ADDRSTRLEN
-#define INET6_ADDRSTRLEN 46
-#endif
-
-#ifndef HOST_NAME_MAX
-#define HOST_NAME_MAX 256
-#endif
-
-#ifndef HAVE_SA_FAMILY_T
-#define HAVE_SA_FAMILY_T
-typedef unsigned short int sa_family_t;
-#endif
-
-#ifndef HAVE_STRUCT_SOCKADDR_STORAGE
-#define HAVE_STRUCT_SOCKADDR_STORAGE
-#ifdef HAVE_STRUCT_SOCKADDR_IN6
-#define sockaddr_storage sockaddr_in6
-#define ss_family sin6_family
-#define HAVE_SS_FAMILY 1
-#else
-#define sockaddr_storage sockaddr_in
-#define ss_family sin_family
-#define HAVE_SS_FAMILY 1
-#endif
-#endif
-
-#ifndef HAVE_SS_FAMILY
-#ifdef HAVE___SS_FAMILY
-#define ss_family __ss_family
-#define HAVE_SS_FAMILY 1
-#endif
-#endif
-
-#ifndef HAVE_STRUCT_ADDRINFO
-#define HAVE_STRUCT_ADDRINFO
-struct addrinfo {
-       int                     ai_flags;
-       int                     ai_family;
-       int                     ai_socktype;
-       int                     ai_protocol;
-       socklen_t               ai_addrlen;
-       struct sockaddr         *ai_addr;
-       char                    *ai_canonname;
-       struct addrinfo         *ai_next;
-};
-#endif   /* HAVE_STRUCT_ADDRINFO */
-
-#if !defined(HAVE_GETADDRINFO)
-#include "getaddrinfo.h"
-#endif
-
-/* Needed for some systems that don't define it (Solaris). */
-#ifndef ifr_netmask
-#define ifr_netmask ifr_addr
-#endif
-
-#ifdef SOCKET_WRAPPER
-#ifndef SOCKET_WRAPPER_NOT_REPLACE
-#define SOCKET_WRAPPER_REPLACE
-#endif
-#include "lib/socket_wrapper/socket_wrapper.h"
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/passwd.h b/source4/lib/replace/system/passwd.h
deleted file mode 100644 (file)
index cad3197..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef _system_passwd_h
-#define _system_passwd_h
-
-/* 
-   Unix SMB/CIFS implementation.
-
-   passwd system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-/* this needs to be included before nss_wrapper.h on some systems */
-#include <unistd.h>
-
-#ifdef HAVE_PWD_H
-#include <pwd.h>
-#endif
-#ifdef HAVE_GRP_H
-#include <grp.h>
-#endif
-#ifdef HAVE_SYS_PRIV_H
-#include <sys/priv.h>
-#endif
-#ifdef HAVE_SYS_ID_H
-#include <sys/id.h>
-#endif
-
-#ifdef HAVE_CRYPT_H
-#include <crypt.h>
-#endif
-
-#ifdef HAVE_SHADOW_H
-#include <shadow.h>
-#endif
-
-#ifdef HAVE_SYS_SECURITY_H
-#include <sys/security.h>
-#include <prot.h>
-#define PASSWORD_LENGTH 16
-#endif  /* HAVE_SYS_SECURITY_H */
-
-#ifdef HAVE_GETPWANAM
-#include <sys/label.h>
-#include <sys/audit.h>
-#include <pwdadj.h>
-#endif
-
-#ifdef HAVE_COMPAT_H
-#include <compat.h>
-#endif
-
-#ifdef REPLACE_GETPASS
-#if defined(REPLACE_GETPASS_BY_GETPASSPHRASE)
-#define getpass(prompt) getpassphrase(prompt)
-#else
-#define getpass(prompt) rep_getpass(prompt)
-char *rep_getpass(const char *prompt);
-#endif
-#endif
-
-#ifndef NGROUPS_MAX
-#define NGROUPS_MAX 32 /* Guess... */
-#endif
-
-/* what is the longest significant password available on your system? 
- Knowing this speeds up password searches a lot */
-#ifndef PASSWORD_LENGTH
-#define PASSWORD_LENGTH 8
-#endif
-
-#if defined(HAVE_PUTPRPWNAM) && defined(AUTH_CLEARTEXT_SEG_CHARS)
-#define OSF1_ENH_SEC 1
-#endif
-
-#ifndef ALLOW_CHANGE_PASSWORD
-#if (defined(HAVE_TERMIOS_H) && defined(HAVE_DUP2) && defined(HAVE_SETSID))
-#define ALLOW_CHANGE_PASSWORD 1
-#endif
-#endif
-
-#if defined(HAVE_CRYPT16) && defined(HAVE_GETAUTHUID)
-#define ULTRIX_AUTH 1
-#endif
-
-#ifdef NSS_WRAPPER
-#ifndef NSS_WRAPPER_NOT_REPLACE
-#define NSS_WRAPPER_REPLACE
-#endif
-#include "lib/nss_wrapper/nss_wrapper.h"
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/readline.h b/source4/lib/replace/system/readline.h
deleted file mode 100644 (file)
index ba34dc6..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _system_readline_h
-#define _system_readline_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   Readline wrappers
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_LIBREADLINE
-#  ifdef HAVE_READLINE_READLINE_H
-#    include <readline/readline.h>
-#    ifdef HAVE_READLINE_HISTORY_H
-#      include <readline/history.h>
-#    endif
-#  else
-#    ifdef HAVE_READLINE_H
-#      include <readline.h>
-#      ifdef HAVE_HISTORY_H
-#        include <history.h>
-#      endif
-#    else
-#      undef HAVE_LIBREADLINE
-#    endif
-#  endif
-#endif
-
-#ifdef HAVE_NEW_LIBREADLINE
-#  define RL_COMPLETION_CAST (rl_completion_func_t *)
-#else
-/* This type is missing from libreadline<4.0  (approximately) */
-#  define RL_COMPLETION_CAST
-#endif /* HAVE_NEW_LIBREADLINE */
-
-#endif
diff --git a/source4/lib/replace/system/select.h b/source4/lib/replace/system/select.h
deleted file mode 100644 (file)
index da18de0..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef _system_select_h
-#define _system_select_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   select system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-
-#ifdef HAVE_SYS_EPOLL_H
-#include <sys/epoll.h>
-#endif
-
-#ifndef SELECT_CAST
-#define SELECT_CAST
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/shmem.h b/source4/lib/replace/system/shmem.h
deleted file mode 100644 (file)
index 64fe39b..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef _system_shmem_h
-#define _system_shmem_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   shared memory system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#if defined(HAVE_SYS_IPC_H)
-#include <sys/ipc.h>
-#endif /* HAVE_SYS_IPC_H */
-
-#if defined(HAVE_SYS_SHM_H)
-#include <sys/shm.h>
-#endif /* HAVE_SYS_SHM_H */
-
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-#endif
-
-/* NetBSD doesn't have these */
-#ifndef SHM_R
-#define SHM_R 0400
-#endif
-
-#ifndef SHM_W
-#define SHM_W 0200
-#endif
-
-
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void *)-1)
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/syslog.h b/source4/lib/replace/system/syslog.h
deleted file mode 100644 (file)
index 104be1d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef _system_syslog_h
-#define _system_syslog_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   syslog system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_SYSLOG_H
-#include <syslog.h>
-#else
-#ifdef HAVE_SYS_SYSLOG_H
-#include <sys/syslog.h>
-#endif
-#endif
-
-/* For sys_adminlog(). */
-#ifndef LOG_EMERG
-#define LOG_EMERG       0       /* system is unusable */
-#endif
-
-#ifndef LOG_ALERT
-#define LOG_ALERT       1       /* action must be taken immediately */
-#endif
-
-#ifndef LOG_CRIT
-#define LOG_CRIT        2       /* critical conditions */
-#endif
-
-#ifndef LOG_ERR
-#define LOG_ERR         3       /* error conditions */
-#endif
-
-#ifndef LOG_WARNING
-#define LOG_WARNING     4       /* warning conditions */
-#endif
-
-#ifndef LOG_NOTICE
-#define LOG_NOTICE      5       /* normal but significant condition */
-#endif
-
-#ifndef LOG_INFO
-#define LOG_INFO        6       /* informational */
-#endif
-
-#ifndef LOG_DEBUG
-#define LOG_DEBUG       7       /* debug-level messages */
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/terminal.h b/source4/lib/replace/system/terminal.h
deleted file mode 100644 (file)
index 9ad601a..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _system_terminal_h
-#define _system_terminal_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   terminal system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-   
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef SUNOS4
-/* on SUNOS4 termios.h conflicts with sys/ioctl.h */
-#undef HAVE_TERMIOS_H
-#endif
-
-
-#if defined(HAVE_TERMIOS_H)
-/* POSIX terminal handling. */
-#include <termios.h>
-#elif defined(HAVE_TERMIO_H)
-/* Older SYSV terminal handling - don't use if we can avoid it. */
-#include <termio.h>
-#elif defined(HAVE_SYS_TERMIO_H)
-/* Older SYSV terminal handling - don't use if we can avoid it. */
-#include <sys/termio.h>
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/time.h b/source4/lib/replace/system/time.h
deleted file mode 100644 (file)
index 4abf295..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef _system_time_h
-#define _system_time_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   time system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef TIME_WITH_SYS_TIME
-#include <sys/time.h>
-#include <time.h>
-#else
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#else
-#include <time.h>
-#endif
-#endif
-
-#ifdef HAVE_UTIME_H
-#include <utime.h>
-#else
-struct utimbuf {
-       time_t actime;       /* access time */
-       time_t modtime;      /* modification time */
-};
-#endif
-
-#ifndef HAVE_MKTIME
-/* define is in "replace.h" */
-time_t rep_mktime(struct tm *t);
-#endif
-
-#ifndef HAVE_TIMEGM
-/* define is in "replace.h" */
-time_t rep_timegm(struct tm *tm);
-#endif
-
-#ifndef HAVE_UTIME
-/* define is in "replace.h" */
-int rep_utime(const char *filename, const struct utimbuf *buf);
-#endif
-
-#ifndef HAVE_UTIMES
-/* define is in "replace.h" */
-int rep_utimes(const char *filename, const struct timeval tv[2]);
-#endif
-
-#endif
diff --git a/source4/lib/replace/system/wait.h b/source4/lib/replace/system/wait.h
deleted file mode 100644 (file)
index 5784b1a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _system_wait_h
-#define _system_wait_h
-/* 
-   Unix SMB/CIFS implementation.
-
-   waitpid system include wrappers
-
-   Copyright (C) Andrew Tridgell 2004
-
-     ** NOTE! The following LGPL license applies to the replace
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-
-#include <signal.h>
-
-#ifndef SIGCLD
-#define SIGCLD SIGCHLD
-#endif
-
-#ifndef SIGNAL_CAST
-#define SIGNAL_CAST (RETSIGTYPE (*)(int))
-#endif
-
-#ifdef HAVE_SETJMP_H
-#include <setjmp.h>
-#endif
-
-#ifndef SA_RESETHAND
-#define SA_RESETHAND SA_ONESHOT
-#endif
-
-#if !defined(HAVE_SIG_ATOMIC_T_TYPE)
-typedef int sig_atomic_t;
-#endif
-
-#endif
diff --git a/source4/lib/replace/test/getifaddrs.c b/source4/lib/replace/test/getifaddrs.c
deleted file mode 100644 (file)
index 8b00ac2..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Unix SMB/CIFS implementation.
- *
- * libreplace getifaddrs test
- *
- * Copyright (C) Michael Adam <obnox@samba.org> 2008
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef AUTOCONF_TEST
-#include "replace.h"
-#include "system/network.h"
-#endif
-
-#ifdef HAVE_INET_NTOP
-#define rep_inet_ntop inet_ntop
-#endif
-
-static const char *format_sockaddr(struct sockaddr *addr,
-                                  char *addrstring,
-                                  socklen_t addrlen)
-{
-       const char *result = NULL;
-
-       if (addr->sa_family == AF_INET) {
-               result = rep_inet_ntop(AF_INET,
-                                      &((struct sockaddr_in *)addr)->sin_addr,
-                                      addrstring,
-                                      addrlen);
-#ifdef HAVE_STRUCT_SOCKADDR_IN6
-       } else if (addr->sa_family == AF_INET6) {
-               result = rep_inet_ntop(AF_INET6,
-                                      &((struct sockaddr_in6 *)addr)->sin6_addr,
-                                      addrstring,
-                                      addrlen);
-#endif
-       }
-       return result;
-}
-
-int getifaddrs_test(void)
-{
-       struct ifaddrs *ifs = NULL;
-       struct ifaddrs *ifs_head = NULL;
-       int ret;
-
-       ret = getifaddrs(&ifs);
-       ifs_head = ifs;
-       if (ret != 0) {
-               fprintf(stderr, "getifaddrs() failed: %s\n", strerror(errno));
-               return 1;
-       }
-
-       while (ifs) {
-               printf("%-10s ", ifs->ifa_name);
-               if (ifs->ifa_addr != NULL) {
-                       char addrstring[INET6_ADDRSTRLEN];
-                       const char *result;
-
-                       result = format_sockaddr(ifs->ifa_addr,
-                                                addrstring,
-                                                sizeof(addrstring));
-                       if (result != NULL) {
-                               printf("IP=%s ", addrstring);
-                       }
-
-                       if (ifs->ifa_netmask != NULL) {
-                               result = format_sockaddr(ifs->ifa_netmask,
-                                                        addrstring,
-                                                        sizeof(addrstring));
-                               if (result != NULL) {
-                                       printf("NETMASK=%s", addrstring);
-                               }
-                       } else {
-                               printf("AF=%d ", ifs->ifa_addr->sa_family);
-                       }
-               } else {
-                       printf("<no address>");
-               }
-
-               printf("\n");
-               ifs = ifs->ifa_next;
-       }
-
-       freeifaddrs(ifs_head);
-
-       return 0;
-}
diff --git a/source4/lib/replace/test/os2_delete.c b/source4/lib/replace/test/os2_delete.c
deleted file mode 100644 (file)
index b45c135..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
-  test readdir/unlink pattern that OS/2 uses
-  tridge@samba.org July 2005
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <dirent.h>
-#include <errno.h>
-#include <string.h>
-#include <fcntl.h>
-
-#define NUM_FILES 700
-#define READDIR_SIZE 100
-#define DELETE_SIZE 4
-
-#define TESTDIR "test.dir"
-
-static int test_readdir_os2_delete_ret;
-
-#define FAILED(d) (printf("failure: readdir [\nFailed for %s - %d = %s\n]\n", d, errno, strerror(errno)), test_readdir_os2_delete_ret = 1, 1)
-
-#ifndef MIN
-#define MIN(a,b) ((a)<(b)?(a):(b))
-#endif
-
-static void cleanup(void)
-{
-       /* I'm a lazy bastard */
-       system("rm -rf " TESTDIR);
-       mkdir(TESTDIR, 0700) == 0 || FAILED("mkdir");
-}
-
-static void create_files(void)
-{
-       int i;
-       for (i=0;i<NUM_FILES;i++) {
-               char fname[40];
-               int fd;
-               sprintf(fname, TESTDIR "/test%u.txt", i);
-               fd = open(fname, O_CREAT|O_RDWR, 0600);
-               if (fd < 0) {
-                       FAILED("open");
-               }
-               if (close(fd) != 0) {
-                       FAILED("close");
-               }
-       }
-}
-
-static int os2_delete(DIR *d)
-{
-       off_t offsets[READDIR_SIZE];
-       int i, j;
-       struct dirent *de;
-       char names[READDIR_SIZE][30];
-
-       /* scan, remembering offsets */
-       for (i=0, de=readdir(d); 
-            de && i < READDIR_SIZE; 
-            de=readdir(d), i++) {
-               offsets[i] = telldir(d);
-               strcpy(names[i], de->d_name);
-       }
-
-       if (i == 0) {
-               return 0;
-       }
-
-       /* delete the first few */
-       for (j=0; j<MIN(i, DELETE_SIZE); j++) {
-               char fname[40];
-               sprintf(fname, TESTDIR "/%s", names[j]);
-               unlink(fname) == 0 || FAILED("unlink");
-       }
-
-       /* seek to just after the deletion */
-       seekdir(d, offsets[j-1]);
-
-       /* return number deleted */
-       return j;
-}
-
-int test_readdir_os2_delete(void)
-{
-       int total_deleted = 0;
-       DIR *d;
-       struct dirent *de;
-
-       test_readdir_os2_delete_ret = 0;
-
-       cleanup();
-       create_files();
-
-       d = opendir(TESTDIR "/test0.txt");
-       if (d != NULL) FAILED("opendir() on file succeed");
-       if (errno != ENOTDIR) FAILED("opendir() on file didn't give ENOTDIR");
-
-       d = opendir(TESTDIR);
-
-       /* skip past . and .. */
-       de = readdir(d);
-       strcmp(de->d_name, ".") == 0 || FAILED("match .");
-       de = readdir(d);
-       strcmp(de->d_name, "..") == 0 || FAILED("match ..");
-
-       while (1) {
-               int n = os2_delete(d);
-               if (n == 0) break;
-               total_deleted += n;
-       }
-       closedir(d);
-
-       fprintf(stderr, "Deleted %d files of %d\n", total_deleted, NUM_FILES);
-
-       rmdir(TESTDIR) == 0 || FAILED("rmdir");
-
-       system("rm -rf " TESTDIR);
-
-       return test_readdir_os2_delete_ret;
-}
diff --git a/source4/lib/replace/test/shared_mmap.c b/source4/lib/replace/test/shared_mmap.c
deleted file mode 100644 (file)
index 50dad8d..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/* this tests whether we can use a shared writeable mmap on a file -
-   as needed for the mmap variant of FAST_SHARE_MODES */
-
-#if defined(HAVE_UNISTD_H)
-#include <unistd.h>
-#endif
-#include <sys/mman.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
-#define DATA "conftest.mmap"
-
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-
-main()
-{
-       int *buf;
-       int i; 
-       int fd = open(DATA,O_RDWR|O_CREAT|O_TRUNC,0666);
-       int count=7;
-
-       if (fd == -1) exit(1);
-
-       for (i=0;i<10000;i++) {
-               write(fd,&i,sizeof(i));
-       }
-
-       close(fd);
-
-       if (fork() == 0) {
-               fd = open(DATA,O_RDWR);
-               if (fd == -1) exit(1);
-
-               buf = (int *)mmap(NULL, 10000*sizeof(int), 
-                                  (PROT_READ | PROT_WRITE), 
-                                  MAP_FILE | MAP_SHARED, 
-                                  fd, 0);
-
-               while (count-- && buf[9124] != 55732) sleep(1);
-
-               if (count <= 0) exit(1);
-
-               buf[1763] = 7268;
-               exit(0);
-       }
-
-       fd = open(DATA,O_RDWR);
-       if (fd == -1) exit(1);
-
-       buf = (int *)mmap(NULL, 10000*sizeof(int), 
-                          (PROT_READ | PROT_WRITE), 
-                          MAP_FILE | MAP_SHARED, 
-                          fd, 0);
-
-       if (buf == (int *)-1) exit(1);
-
-       buf[9124] = 55732;
-
-       while (count-- && buf[1763] != 7268) sleep(1);
-
-       unlink(DATA);
-               
-       if (count > 0) exit(0);
-       exit(1);
-}
diff --git a/source4/lib/replace/test/strptime.c b/source4/lib/replace/test/strptime.c
deleted file mode 100644 (file)
index fade3ec..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-
-#ifdef LIBREPLACE_CONFIGURE_TEST_STRPTIME
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-
-#define true 1
-#define false 0
-
-#ifndef __STRING
-#define __STRING(x)    #x
-#endif
-
-/* make printf a no-op */
-#define printf if(0) printf
-
-#else /* LIBREPLACE_CONFIGURE_TEST_STRPTIME */
-
-#include "replace.h"
-#include "system/time.h"
-
-#endif /* LIBREPLACE_CONFIGURE_TEST_STRPTIME */
-
-int libreplace_test_strptime(void)
-{
-       const char *s = "20070414101546Z";
-       char *ret;
-       struct tm t, t2;
-
-       memset(&t, 0, sizeof(t));
-       memset(&t2, 0, sizeof(t2));
-
-       printf("test: strptime\n");
-
-       ret = strptime(s, "%Y%m%d%H%M%S", &t);
-       if ( ret == NULL ) {
-               printf("failure: strptime [\n"
-                      "returned NULL\n"
-                      "]\n");
-               return false;
-       }
-
-       if ( *ret != 'Z' ) {
-               printf("failure: strptime [\n"
-                      "ret doesn't point to 'Z'\n"
-                      "]\n");
-               return false;
-       }
-
-       ret = strptime(s, "%Y%m%d%H%M%SZ", &t2);
-       if ( ret == NULL ) {
-               printf("failure: strptime [\n"
-                      "returned NULL with Z\n"
-                      "]\n");
-               return false;
-       }
-
-       if ( *ret != '\0' ) {
-               printf("failure: strptime [\n"
-                      "ret doesn't point to '\\0'\n"
-                      "]\n");
-               return false;
-       }
-
-#define CMP_TM_ELEMENT(t1,t2,elem) \
-       if (t1.elem != t2.elem) { \
-               printf("failure: strptime [\n" \
-                      "result differs if the format string has a 'Z' at the end\n" \
-                      "element: %s %d != %d\n" \
-                      "]\n", \
-                      __STRING(elen), t1.elem, t2.elem); \
-               return false; \
-       }
-
-       CMP_TM_ELEMENT(t,t2,tm_sec);
-       CMP_TM_ELEMENT(t,t2,tm_min);
-       CMP_TM_ELEMENT(t,t2,tm_hour);
-       CMP_TM_ELEMENT(t,t2,tm_mday);
-       CMP_TM_ELEMENT(t,t2,tm_mon);
-       CMP_TM_ELEMENT(t,t2,tm_year);
-       CMP_TM_ELEMENT(t,t2,tm_wday);
-       CMP_TM_ELEMENT(t,t2,tm_yday);
-       CMP_TM_ELEMENT(t,t2,tm_isdst);
-
-       if (t.tm_sec != 46) {
-               printf("failure: strptime [\n"
-                      "tm_sec: expected: 46, got: %d\n"
-                      "]\n",
-                      t.tm_sec);
-               return false;
-       }
-
-       if (t.tm_min != 15) {
-               printf("failure: strptime [\n"
-                      "tm_min: expected: 15, got: %d\n"
-                      "]\n",
-                      t.tm_min);
-               return false;
-       }
-
-       if (t.tm_hour != 10) {
-               printf("failure: strptime [\n"
-                      "tm_hour: expected: 10, got: %d\n"
-                      "]\n",
-                      t.tm_hour);
-               return false;
-       }
-
-       if (t.tm_mday != 14) {
-               printf("failure: strptime [\n"
-                      "tm_mday: expected: 14, got: %d\n"
-                      "]\n",
-                      t.tm_mday);
-               return false;
-       }
-
-       if (t.tm_mon != 3) {
-               printf("failure: strptime [\n"
-                      "tm_mon: expected: 3, got: %d\n"
-                      "]\n",
-                      t.tm_mon);
-               return false;
-       }
-
-       if (t.tm_year != 107) {
-               printf("failure: strptime [\n"
-                      "tm_year: expected: 107, got: %d\n"
-                      "]\n",
-                      t.tm_year);
-               return false;
-       }
-
-       if (t.tm_wday != 6) { /* saturday */
-               printf("failure: strptime [\n"
-                      "tm_wday: expected: 6, got: %d\n"
-                      "]\n",
-                      t.tm_wday);
-               return false;
-       }
-
-       if (t.tm_yday != 103) {
-               printf("failure: strptime [\n"
-                      "tm_yday: expected: 103, got: %d\n"
-                      "]\n",
-                      t.tm_yday);
-               return false;
-       }
-
-       /* we don't test this as it depends on the host configuration
-       if (t.tm_isdst != 0) {
-               printf("failure: strptime [\n"
-                      "tm_isdst: expected: 0, got: %d\n"
-                      "]\n",
-                      t.tm_isdst);
-               return false;
-       }*/
-
-       printf("success: strptime\n");
-
-       return true;
-}
-
-#ifdef LIBREPLACE_CONFIGURE_TEST_STRPTIME
-int main (void)
-{
-       int ret;
-       ret = libreplace_test_strptime();
-       if (ret == false) return 1;
-       return 0;
-}
-#endif
diff --git a/source4/lib/replace/test/testsuite.c b/source4/lib/replace/test/testsuite.c
deleted file mode 100644 (file)
index 1e82909..0000000
+++ /dev/null
@@ -1,1080 +0,0 @@
-/* 
-   Unix SMB/CIFS implementation.
-
-   libreplace tests
-
-   Copyright (C) Jelmer Vernooij 2006
-
-     ** NOTE! The following LGPL license applies to the talloc
-     ** library. This does NOT imply that all of Samba is released
-     ** under the LGPL
-   
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 3 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "replace.h"
-
-/*
-  we include all the system/ include files here so that libreplace tests
-  them in the build farm
-*/
-#include "system/capability.h"
-#include "system/dir.h"
-#include "system/filesys.h"
-#include "system/glob.h"
-#include "system/iconv.h"
-#include "system/locale.h"
-#include "system/network.h"
-#include "system/passwd.h"
-#include "system/readline.h"
-#include "system/select.h"
-#include "system/shmem.h"
-#include "system/syslog.h"
-#include "system/terminal.h"
-#include "system/time.h"
-#include "system/wait.h"
-#include "system/aio.h"
-
-#define TESTFILE "testfile.dat"
-
-/*
-  test ftruncate() function
- */
-static int test_ftruncate(void)
-{
-       struct stat st;
-       int fd;
-       const int size = 1234;
-       printf("test: ftruncate\n");
-       unlink(TESTFILE);
-       fd = open(TESTFILE, O_RDWR|O_CREAT, 0600);
-       if (fd == -1) {
-               printf("failure: ftruncate [\n"
-                          "creating '%s' failed - %s\n]\n", TESTFILE, strerror(errno));
-               return false;
-       }
-       if (ftruncate(fd, size) != 0) {
-               printf("failure: ftruncate [\n%s\n]\n", strerror(errno));
-               return false;
-       }
-       if (fstat(fd, &st) != 0) {
-               printf("failure: ftruncate [\nfstat failed - %s\n]\n", strerror(errno));
-               return false;
-       }
-       if (st.st_size != size) {
-               printf("failure: ftruncate [\ngave wrong size %d - expected %d\n]\n",
-                      (int)st.st_size, size);
-               return false;
-       }
-       unlink(TESTFILE);
-       printf("success: ftruncate\n");
-       return true;
-}
-
-/*
-  test strlcpy() function.
-  see http://www.gratisoft.us/todd/papers/strlcpy.html
- */
-static int test_strlcpy(void)
-{
-       char buf[4];
-       const struct {
-               const char *src;
-               size_t result;
-       } tests[] = {
-               { "abc", 3 },
-               { "abcdef", 6 },
-               { "abcd", 4 },
-               { "", 0 },
-               { NULL, 0 }
-       };
-       int i;
-       printf("test: strlcpy\n");
-       for (i=0;tests[i].src;i++) {
-               if (strlcpy(buf, tests[i].src, sizeof(buf)) != tests[i].result) {
-                       printf("failure: strlcpy [\ntest %d failed\n]\n", i);
-                       return false;
-               }
-       }
-       printf("success: strlcpy\n");
-       return true;
-}
-
-static int test_strlcat(void)
-{
-       char tmp[10];
-       printf("test: strlcat\n");
-       strlcpy(tmp, "", sizeof(tmp));
-       if (strlcat(tmp, "bla", 3) != 3) {
-               printf("failure: strlcat [\ninvalid return code\n]\n");
-               return false;
-       }
-       if (strcmp(tmp, "bl") != 0) {
-               printf("failure: strlcat [\nexpected \"bl\", got \"%s\"\n]\n", 
-                          tmp);
-               return false;
-       }
-
-       strlcpy(tmp, "da", sizeof(tmp));
-       if (strlcat(tmp, "me", 4) != 4) {
-               printf("failure: strlcat [\nexpected \"dam\", got \"%s\"\n]\n",
-                          tmp);
-               return false;
-       }
-
-       printf("success: strlcat\n");
-       return true;
-}
-
-static int test_mktime(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_initgroups(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_memmove(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_strdup(void)
-{
-       char *x;
-       printf("test: strdup\n");
-       x = strdup("bla");
-       if (strcmp("bla", x) != 0) {
-               printf("failure: strdup [\nfailed: expected \"bla\", got \"%s\"\n]\n",
-                          x);
-               return false;
-       }
-       free(x);
-       printf("success: strdup\n");
-       return true;
-}      
-
-static int test_setlinebuf(void)
-{
-       printf("test: setlinebuf\n");
-       setlinebuf(stdout);
-       printf("success: setlinebuf\n");
-       return true;
-}
-
-static int test_vsyslog(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_timegm(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_setenv(void)
-{
-#define TEST_SETENV(key, value, overwrite, result) do { \
-       int _ret; \
-       char *_v; \
-       _ret = setenv(key, value, overwrite); \
-       if (_ret != 0) { \
-               printf("failure: setenv [\n" \
-                       "setenv(%s, %s, %d) failed\n" \
-                       "]\n", \
-                       key, value, overwrite); \
-               return false; \
-       } \
-       _v=getenv(key); \
-       if (!_v) { \
-               printf("failure: setenv [\n" \
-                       "getenv(%s) returned NULL\n" \
-                       "]\n", \
-                       key); \
-               return false; \
-       } \
-       if (strcmp(result, _v) != 0) { \
-               printf("failure: setenv [\n" \
-                       "getenv(%s): '%s' != '%s'\n" \
-                       "]\n", \
-                       key, result, _v); \
-               return false; \
-       } \
-} while(0)
-
-#define TEST_UNSETENV(key) do { \
-       char *_v; \
-       unsetenv(key); \
-       _v=getenv(key); \
-       if (_v) { \
-               printf("failure: setenv [\n" \
-                       "getenv(%s): NULL != '%s'\n" \
-                       "]\n", \
-                       SETENVTEST_KEY, _v); \
-               return false; \
-       } \
-} while (0)
-
-#define SETENVTEST_KEY "SETENVTESTKEY"
-#define SETENVTEST_VAL "SETENVTESTVAL"
-
-       printf("test: setenv\n");
-       TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"1", 0, SETENVTEST_VAL"1");
-       TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"2", 0, SETENVTEST_VAL"1");
-       TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"3", 1, SETENVTEST_VAL"3");
-       TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"4", 1, SETENVTEST_VAL"4");
-       TEST_UNSETENV(SETENVTEST_KEY);
-       TEST_UNSETENV(SETENVTEST_KEY);
-       TEST_SETENV(SETENVTEST_KEY, SETENVTEST_VAL"5", 0, SETENVTEST_VAL"5");
-       TEST_UNSETENV(SETENVTEST_KEY);
-       TEST_UNSETENV(SETENVTEST_KEY);
-       printf("success: setenv\n");
-       return true;
-}
-
-static int test_strndup(void)
-{
-       char *x;
-       printf("test: strndup\n");
-       x = strndup("bla", 0);
-       if (strcmp(x, "") != 0) {
-               printf("failure: strndup [\ninvalid\n]\n");
-               return false;
-       }
-       free(x);
-       x = strndup("bla", 2);
-       if (strcmp(x, "bl") != 0) {
-               printf("failure: strndup [\ninvalid\n]\n");
-               return false;
-       }
-       free(x);
-       x = strndup("bla", 10);
-       if (strcmp(x, "bla") != 0) {
-               printf("failure: strndup [\ninvalid\n]\n");
-               return false;
-       }
-       free(x);
-       printf("success: strndup\n");
-       return true;
-}
-
-static int test_strnlen(void)
-{
-       printf("test: strnlen\n");
-       if (strnlen("bla", 2) != 2) {
-               printf("failure: strnlen [\nunexpected length\n]\n");
-               return false;
-       }
-
-       if (strnlen("some text\n", 0) != 0) {
-               printf("failure: strnlen [\nunexpected length\n]\n");
-               return false;
-       }
-
-       if (strnlen("some text", 20) != 9) {
-               printf("failure: strnlen [\nunexpected length\n]\n");
-               return false;
-       }
-
-       printf("success: strnlen\n");
-       return true;
-}
-
-static int test_waitpid(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_seteuid(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_setegid(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_asprintf(void)
-{
-       char *x;
-       printf("test: asprintf\n");
-       if (asprintf(&x, "%d", 9) != 1) {
-               printf("failure: asprintf [\ngenerate asprintf\n]\n");
-               return false;
-       }
-       if (strcmp(x, "9") != 0) {
-               printf("failure: asprintf [\ngenerate asprintf\n]\n");
-               return false;
-       }
-       if (asprintf(&x, "dat%s", "a") != 4) {
-               printf("failure: asprintf [\ngenerate asprintf\n]\n");
-               return false;
-       }
-       if (strcmp(x, "data") != 0) {
-               printf("failure: asprintf [\ngenerate asprintf\n]\n");
-               return false;
-       }
-       printf("success: asprintf\n");
-       return true;
-}
-
-static int test_snprintf(void)
-{
-       char tmp[10];
-       printf("test: snprintf\n");
-       if (snprintf(tmp, 3, "foo%d", 9) != 4) {
-               printf("failure: snprintf [\nsnprintf return code failed\n]\n");
-               return false;
-       }
-
-       if (strcmp(tmp, "fo") != 0) {
-               printf("failure: snprintf [\nsnprintf failed\n]\n");
-               return false;
-       }
-
-       printf("success: snprintf\n");
-       return true;
-}
-
-static int test_vasprintf(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_vsnprintf(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_opendir(void)
-{
-       /* FIXME */
-       return true;
-}
-
-extern int test_readdir_os2_delete(void);
-
-static int test_readdir(void)
-{
-       printf("test: readdir\n");
-       if (test_readdir_os2_delete() != 0) {
-               return false;
-       }
-       printf("success: readdir\n");
-       return true;
-}
-
-static int test_telldir(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_seekdir(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_dlopen(void)
-{
-       /* FIXME: test dlopen, dlsym, dlclose, dlerror */
-       return true;
-}
-
-
-static int test_chroot(void)
-{
-       /* FIXME: chroot() */
-       return true;
-}
-
-static int test_bzero(void)
-{
-       /* FIXME: bzero */
-       return true;
-}
-
-static int test_strerror(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_errno(void)
-{
-       printf("test: errno\n");
-       errno = 3;
-       if (errno != 3) {
-               printf("failure: errno [\nerrno failed\n]\n");
-               return false;
-       }
-
-       printf("success: errno\n");
-       return true;
-}
-
-static int test_mkdtemp(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_mkstemp(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_pread(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_pwrite(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_getpass(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_inet_ntoa(void)
-{
-       /* FIXME */
-       return true;
-}
-
-#define TEST_STRTO_X(type,fmt,func,str,base,res,diff,rrnoo) do {\
-       type _v; \
-       char _s[64]; \
-       char *_p = NULL;\
-       char *_ep = NULL; \
-       strlcpy(_s, str, sizeof(_s));\
-       if (diff >= 0) { \
-               _ep = &_s[diff]; \
-       } \
-       errno = 0; \
-       _v = func(_s, &_p, base); \
-       if (errno != rrnoo) { \
-               printf("failure: %s [\n" \
-                      "\t%s\n" \
-                      "\t%s(\"%s\",%d,%d): " fmt " (=/!)= " fmt "\n" \
-                      "\terrno: %d != %d\n" \
-                      "]\n", \
-                       __STRING(func), __location__, __STRING(func), \
-                      str, diff, base, res, _v, rrnoo, errno); \
-               return false; \
-       } else if (_v != res) { \
-               printf("failure: %s [\n" \
-                      "\t%s\n" \
-                      "\t%s(\"%s\",%d,%d): " fmt " != " fmt "\n" \
-                      "]\n", \
-                      __STRING(func), __location__, __STRING(func), \
-                      str, diff, base, res, _v); \
-               return false; \
-       } else if (_p != _ep) { \
-               printf("failure: %s [\n" \
-                      "\t%s\n" \
-                      "\t%s(\"%s\",%d,%d): " fmt " (=/!)= " fmt "\n" \
-                      "\tptr: %p - %p = %d != %d\n" \
-                      "]\n", \
-                      __STRING(func), __location__, __STRING(func), \
-                      str, diff, base, res, _v, _ep, _p, (int)(diff - (_ep - _p)), diff); \
-               return false; \
-       } \
-} while (0)
-
-static int test_strtoll(void)
-{
-       printf("test: strtoll\n");
-
-#define TEST_STRTOLL(str,base,res,diff,errnoo) TEST_STRTO_X(long long int, "%lld", strtoll,str,base,res,diff,errnoo)
-
-       TEST_STRTOLL("15",      10,     15LL,   2, 0);
-       TEST_STRTOLL("  15",    10,     15LL,   4, 0);
-       TEST_STRTOLL("15",      0,      15LL,   2, 0);
-       TEST_STRTOLL(" 15 ",    0,      15LL,   3, 0);
-       TEST_STRTOLL("+15",     10,     15LL,   3, 0);
-       TEST_STRTOLL("  +15",   10,     15LL,   5, 0);
-       TEST_STRTOLL("+15",     0,      15LL,   3, 0);
-       TEST_STRTOLL(" +15 ",   0,      15LL,   4, 0);
-       TEST_STRTOLL("-15",     10,     -15LL,  3, 0);
-       TEST_STRTOLL("  -15",   10,     -15LL,  5, 0);
-       TEST_STRTOLL("-15",     0,      -15LL,  3, 0);
-       TEST_STRTOLL(" -15 ",   0,      -15LL,  4, 0);
-       TEST_STRTOLL("015",     10,     15LL,   3, 0);
-       TEST_STRTOLL("  015",   10,     15LL,   5, 0);
-       TEST_STRTOLL("015",     0,      13LL,   3, 0);
-       TEST_STRTOLL("  015",   0,      13LL,   5, 0);
-       TEST_STRTOLL("0x15",    10,     0LL,    1, 0);
-       TEST_STRTOLL("  0x15",  10,     0LL,    3, 0);
-       TEST_STRTOLL("0x15",    0,      21LL,   4, 0);
-       TEST_STRTOLL("  0x15",  0,      21LL,   6, 0);
-
-       TEST_STRTOLL("10",      16,     16LL,   2, 0);
-       TEST_STRTOLL("  10 ",   16,     16LL,   4, 0);
-       TEST_STRTOLL("0x10",    16,     16LL,   4, 0);
-       TEST_STRTOLL("0x10",    0,      16LL,   4, 0);
-       TEST_STRTOLL(" 0x10 ",  0,      16LL,   5, 0);
-       TEST_STRTOLL("+10",     16,     16LL,   3, 0);
-       TEST_STRTOLL("  +10 ",  16,     16LL,   5, 0);
-       TEST_STRTOLL("+0x10",   16,     16LL,   5, 0);
-       TEST_STRTOLL("+0x10",   0,      16LL,   5, 0);
-       TEST_STRTOLL(" +0x10 ", 0,      16LL,   6, 0);
-       TEST_STRTOLL("-10",     16,     -16LL,  3, 0);
-       TEST_STRTOLL("  -10 ",  16,     -16LL,  5, 0);
-       TEST_STRTOLL("-0x10",   16,     -16LL,  5, 0);
-       TEST_STRTOLL("-0x10",   0,      -16LL,  5, 0);
-       TEST_STRTOLL(" -0x10 ", 0,      -16LL,  6, 0);
-       TEST_STRTOLL("010",     16,     16LL,   3, 0);
-       TEST_STRTOLL("  010 ",  16,     16LL,   5, 0);
-       TEST_STRTOLL("-010",    16,     -16LL,  4, 0);
-
-       TEST_STRTOLL("11",      8,      9LL,    2, 0);
-       TEST_STRTOLL("011",     8,      9LL,    3, 0);
-       TEST_STRTOLL("011",     0,      9LL,    3, 0);
-       TEST_STRTOLL("-11",     8,      -9LL,   3, 0);
-       TEST_STRTOLL("-011",    8,      -9LL,   4, 0);
-       TEST_STRTOLL("-011",    0,      -9LL,   4, 0);
-
-       TEST_STRTOLL("011",     8,      9LL,    3, 0);
-       TEST_STRTOLL("011",     0,      9LL,    3, 0);
-       TEST_STRTOLL("-11",     8,      -9LL,   3, 0);
-       TEST_STRTOLL("-011",    8,      -9LL,   4, 0);
-       TEST_STRTOLL("-011",    0,      -9LL,   4, 0);
-
-       TEST_STRTOLL("Text",    0,      0LL,    0, 0);
-
-       TEST_STRTOLL("9223372036854775807",     10,     9223372036854775807LL,  19, 0);
-       TEST_STRTOLL("9223372036854775807",     0,      9223372036854775807LL,  19, 0);
-       TEST_STRTOLL("9223372036854775808",     0,      9223372036854775807LL,  19, ERANGE);
-       TEST_STRTOLL("9223372036854775808",     10,     9223372036854775807LL,  19, ERANGE);
-       TEST_STRTOLL("0x7FFFFFFFFFFFFFFF",      0,      9223372036854775807LL,  18, 0);
-       TEST_STRTOLL("0x7FFFFFFFFFFFFFFF",      16,     9223372036854775807LL,  18, 0);
-       TEST_STRTOLL("7FFFFFFFFFFFFFFF",        16,     9223372036854775807LL,  16, 0);
-       TEST_STRTOLL("0x8000000000000000",      0,      9223372036854775807LL,  18, ERANGE);
-       TEST_STRTOLL("0x8000000000000000",      16,     9223372036854775807LL,  18, ERANGE);
-       TEST_STRTOLL("80000000000000000",       16,     9223372036854775807LL,  17, ERANGE);
-       TEST_STRTOLL("0777777777777777777777",  0,      9223372036854775807LL,  22, 0);
-       TEST_STRTOLL("0777777777777777777777",  8,      9223372036854775807LL,  22, 0);
-       TEST_STRTOLL("777777777777777777777",   8,      9223372036854775807LL,  21, 0);
-       TEST_STRTOLL("01000000000000000000000", 0,      9223372036854775807LL,  23, ERANGE);
-       TEST_STRTOLL("01000000000000000000000", 8,      9223372036854775807LL,  23, ERANGE);
-       TEST_STRTOLL("1000000000000000000000",  8,      9223372036854775807LL,  22, ERANGE);
-
-       TEST_STRTOLL("-9223372036854775808",    10,     -9223372036854775807LL -1,      20, 0);
-       TEST_STRTOLL("-9223372036854775808",    0,      -9223372036854775807LL -1,      20, 0);
-       TEST_STRTOLL("-9223372036854775809",    0,      -9223372036854775807LL -1,      20, ERANGE);
-       TEST_STRTOLL("-9223372036854775809",    10,     -9223372036854775807LL -1,      20, ERANGE);
-       TEST_STRTOLL("-0x8000000000000000",     0,      -9223372036854775807LL -1,      19, 0);
-       TEST_STRTOLL("-0x8000000000000000",     16,     -9223372036854775807LL -1,      19, 0);
-       TEST_STRTOLL("-8000000000000000",       16,     -9223372036854775807LL -1,      17, 0);
-       TEST_STRTOLL("-0x8000000000000001",     0,      -9223372036854775807LL -1,      19, ERANGE);
-       TEST_STRTOLL("-0x8000000000000001",     16,     -9223372036854775807LL -1,      19, ERANGE);
-       TEST_STRTOLL("-80000000000000001",      16,     -9223372036854775807LL -1,      18, ERANGE);
-       TEST_STRTOLL("-01000000000000000000000",0,      -9223372036854775807LL -1,      24, 0);
-       TEST_STRTOLL("-01000000000000000000000",8,      -9223372036854775807LL -1,      24, 0);
-       TEST_STRTOLL("-1000000000000000000000", 8,      -9223372036854775807LL -1,      23, 0);
-       TEST_STRTOLL("-01000000000000000000001",0,      -9223372036854775807LL -1,      24, ERANGE);
-       TEST_STRTOLL("-01000000000000000000001",8,      -9223372036854775807LL -1,      24, ERANGE);
-       TEST_STRTOLL("-1000000000000000000001", 8,      -9223372036854775807LL -1,      23, ERANGE);
-
-       printf("success: strtoll\n");
-       return true;
-}
-
-static int test_strtoull(void)
-{
-       printf("test: strtoull\n");
-
-#define TEST_STRTOULL(str,base,res,diff,errnoo) TEST_STRTO_X(long long unsigned int,"%llu",strtoull,str,base,res,diff,errnoo)
-
-       TEST_STRTOULL("15",     10,     15LLU,  2, 0);
-       TEST_STRTOULL("  15",   10,     15LLU,  4, 0);
-       TEST_STRTOULL("15",     0,      15LLU,  2, 0);
-       TEST_STRTOULL(" 15 ",   0,      15LLU,  3, 0);
-       TEST_STRTOULL("+15",    10,     15LLU,  3, 0);
-       TEST_STRTOULL("  +15",  10,     15LLU,  5, 0);
-       TEST_STRTOULL("+15",    0,      15LLU,  3, 0);
-       TEST_STRTOULL(" +15 ",  0,      15LLU,  4, 0);
-       TEST_STRTOULL("-15",    10,     18446744073709551601LLU,        3, 0);
-       TEST_STRTOULL("  -15",  10,     18446744073709551601LLU,        5, 0);
-       TEST_STRTOULL("-15",    0,      18446744073709551601LLU,        3, 0);
-       TEST_STRTOULL(" -15 ",  0,      18446744073709551601LLU,        4, 0);
-       TEST_STRTOULL("015",    10,     15LLU,  3, 0);
-       TEST_STRTOULL("  015",  10,     15LLU,  5, 0);
-       TEST_STRTOULL("015",    0,      13LLU,  3, 0);
-       TEST_STRTOULL("  015",  0,      13LLU,  5, 0);
-       TEST_STRTOULL("0x15",   10,     0LLU,   1, 0);
-       TEST_STRTOULL("  0x15", 10,     0LLU,   3, 0);
-       TEST_STRTOULL("0x15",   0,      21LLU,  4, 0);
-       TEST_STRTOULL("  0x15", 0,      21LLU,  6, 0);
-
-       TEST_STRTOULL("10",     16,     16LLU,  2, 0);
-       TEST_STRTOULL("  10 ",  16,     16LLU,  4, 0);
-       TEST_STRTOULL("0x10",   16,     16LLU,  4, 0);
-       TEST_STRTOULL("0x10",   0,      16LLU,  4, 0);
-       TEST_STRTOULL(" 0x10 ", 0,      16LLU,  5, 0);
-       TEST_STRTOULL("+10",    16,     16LLU,  3, 0);
-       TEST_STRTOULL("  +10 ", 16,     16LLU,  5, 0);
-       TEST_STRTOULL("+0x10",  16,     16LLU,  5, 0);
-       TEST_STRTOULL("+0x10",  0,      16LLU,  5, 0);
-       TEST_STRTOULL(" +0x10 ",        0,      16LLU,  6, 0);
-       TEST_STRTOULL("-10",    16,     -16LLU, 3, 0);
-       TEST_STRTOULL("  -10 ", 16,     -16LLU, 5, 0);
-       TEST_STRTOULL("-0x10",  16,     -16LLU, 5, 0);
-       TEST_STRTOULL("-0x10",  0,      -16LLU, 5, 0);
-       TEST_STRTOULL(" -0x10 ",        0,      -16LLU, 6, 0);
-       TEST_STRTOULL("010",    16,     16LLU,  3, 0);
-       TEST_STRTOULL("  010 ", 16,     16LLU,  5, 0);
-       TEST_STRTOULL("-010",   16,     -16LLU, 4, 0);
-
-       TEST_STRTOULL("11",     8,      9LLU,   2, 0);
-       TEST_STRTOULL("011",    8,      9LLU,   3, 0);
-       TEST_STRTOULL("011",    0,      9LLU,   3, 0);
-       TEST_STRTOULL("-11",    8,      -9LLU,  3, 0);
-       TEST_STRTOULL("-011",   8,      -9LLU,  4, 0);
-       TEST_STRTOULL("-011",   0,      -9LLU,  4, 0);
-
-       TEST_STRTOULL("011",    8,      9LLU,   3, 0);
-       TEST_STRTOULL("011",    0,      9LLU,   3, 0);
-       TEST_STRTOULL("-11",    8,      -9LLU,  3, 0);
-       TEST_STRTOULL("-011",   8,      -9LLU,  4, 0);
-       TEST_STRTOULL("-011",   0,      -9LLU,  4, 0);
-
-       TEST_STRTOULL("Text",   0,      0LLU,   0, 0);
-
-       TEST_STRTOULL("9223372036854775807",    10,     9223372036854775807LLU, 19, 0);
-       TEST_STRTOULL("9223372036854775807",    0,      9223372036854775807LLU, 19, 0);
-       TEST_STRTOULL("9223372036854775808",    0,      9223372036854775808LLU, 19, 0);
-       TEST_STRTOULL("9223372036854775808",    10,     9223372036854775808LLU, 19, 0);
-       TEST_STRTOULL("0x7FFFFFFFFFFFFFFF",     0,      9223372036854775807LLU, 18, 0);
-       TEST_STRTOULL("0x7FFFFFFFFFFFFFFF",     16,     9223372036854775807LLU, 18, 0);
-       TEST_STRTOULL("7FFFFFFFFFFFFFFF",       16,     9223372036854775807LLU, 16, 0);
-       TEST_STRTOULL("0x8000000000000000",     0,      9223372036854775808LLU, 18, 0);
-       TEST_STRTOULL("0x8000000000000000",     16,     9223372036854775808LLU, 18, 0);
-       TEST_STRTOULL("8000000000000000",       16,     9223372036854775808LLU, 16, 0);
-       TEST_STRTOULL("0777777777777777777777", 0,      9223372036854775807LLU, 22, 0);
-       TEST_STRTOULL("0777777777777777777777", 8,      9223372036854775807LLU, 22, 0);
-       TEST_STRTOULL("777777777777777777777",  8,      9223372036854775807LLU, 21, 0);
-       TEST_STRTOULL("01000000000000000000000",0,      9223372036854775808LLU, 23, 0);
-       TEST_STRTOULL("01000000000000000000000",8,      9223372036854775808LLU, 23, 0);
-       TEST_STRTOULL("1000000000000000000000", 8,      9223372036854775808LLU, 22, 0);
-
-       TEST_STRTOULL("-9223372036854775808",   10,     9223372036854775808LLU, 20, 0);
-       TEST_STRTOULL("-9223372036854775808",   0,      9223372036854775808LLU, 20, 0);
-       TEST_STRTOULL("-9223372036854775809",   0,      9223372036854775807LLU, 20, 0);
-       TEST_STRTOULL("-9223372036854775809",   10,     9223372036854775807LLU, 20, 0);
-       TEST_STRTOULL("-0x8000000000000000",    0,      9223372036854775808LLU, 19, 0);
-       TEST_STRTOULL("-0x8000000000000000",    16,     9223372036854775808LLU, 19, 0);
-       TEST_STRTOULL("-8000000000000000",      16,     9223372036854775808LLU, 17, 0);
-       TEST_STRTOULL("-0x8000000000000001",    0,      9223372036854775807LLU, 19, 0);
-       TEST_STRTOULL("-0x8000000000000001",    16,     9223372036854775807LLU, 19, 0);
-       TEST_STRTOULL("-8000000000000001",      16,     9223372036854775807LLU, 17, 0);
-       TEST_STRTOULL("-01000000000000000000000",0,     9223372036854775808LLU, 24, 0);
-       TEST_STRTOULL("-01000000000000000000000",8,     9223372036854775808LLU, 24, 0);
-       TEST_STRTOULL("-1000000000000000000000",8,      9223372036854775808LLU, 23, 0);
-       TEST_STRTOULL("-01000000000000000000001",0,     9223372036854775807LLU, 24, 0);
-       TEST_STRTOULL("-01000000000000000000001",8,     9223372036854775807LLU, 24, 0);
-       TEST_STRTOULL("-1000000000000000000001",8,      9223372036854775807LLU, 23, 0);
-
-       TEST_STRTOULL("18446744073709551615",   0,      18446744073709551615LLU,        20, 0);
-       TEST_STRTOULL("18446744073709551615",   10,     18446744073709551615LLU,        20, 0);
-       TEST_STRTOULL("18446744073709551616",   0,      18446744073709551615LLU,        20, ERANGE);
-       TEST_STRTOULL("18446744073709551616",   10,     18446744073709551615LLU,        20, ERANGE);
-       TEST_STRTOULL("0xFFFFFFFFFFFFFFFF",     0,      18446744073709551615LLU,        18, 0);
-       TEST_STRTOULL("0xFFFFFFFFFFFFFFFF",     16,     18446744073709551615LLU,        18, 0);
-       TEST_STRTOULL("FFFFFFFFFFFFFFFF",       16,     18446744073709551615LLU,        16, 0);
-       TEST_STRTOULL("0x10000000000000000",    0,      18446744073709551615LLU,        19, ERANGE);
-       TEST_STRTOULL("0x10000000000000000",    16,     18446744073709551615LLU,        19, ERANGE);
-       TEST_STRTOULL("10000000000000000",      16,     18446744073709551615LLU,        17, ERANGE);
-       TEST_STRTOULL("01777777777777777777777",0,      18446744073709551615LLU,        23, 0);
-       TEST_STRTOULL("01777777777777777777777",8,      18446744073709551615LLU,        23, 0);
-       TEST_STRTOULL("1777777777777777777777", 8,      18446744073709551615LLU,        22, 0);
-       TEST_STRTOULL("02000000000000000000000",0,      18446744073709551615LLU,        23, ERANGE);
-       TEST_STRTOULL("02000000000000000000000",8,      18446744073709551615LLU,        23, ERANGE);
-       TEST_STRTOULL("2000000000000000000000", 8,      18446744073709551615LLU,        22, ERANGE);
-
-       TEST_STRTOULL("-18446744073709551615",  0,      1LLU,                           21, 0);
-       TEST_STRTOULL("-18446744073709551615",  10,     1LLU,                           21, 0);
-       TEST_STRTOULL("-18446744073709551616",  0,      18446744073709551615LLU,        21, ERANGE);
-       TEST_STRTOULL("-18446744073709551616",  10,     18446744073709551615LLU,        21, ERANGE);
-       TEST_STRTOULL("-0xFFFFFFFFFFFFFFFF",    0,      1LLU,                           19, 0);
-       TEST_STRTOULL("-0xFFFFFFFFFFFFFFFF",    16,     1LLU,                           19, 0);
-       TEST_STRTOULL("-FFFFFFFFFFFFFFFF",      16,     1LLU,                           17, 0);
-       TEST_STRTOULL("-0x10000000000000000",   0,      18446744073709551615LLU,        20, ERANGE);
-       TEST_STRTOULL("-0x10000000000000000",   16,     18446744073709551615LLU,        20, ERANGE);
-       TEST_STRTOULL("-10000000000000000",     16,     18446744073709551615LLU,        18, ERANGE);
-       TEST_STRTOULL("-01777777777777777777777",0,     1LLU,                           24, 0);
-       TEST_STRTOULL("-01777777777777777777777",8,     1LLU,                           24, 0);
-       TEST_STRTOULL("-1777777777777777777777",8,      1LLU,                           23, 0);
-       TEST_STRTOULL("-02000000000000000000000",0,     18446744073709551615LLU,        24, ERANGE);
-       TEST_STRTOULL("-02000000000000000000000",8,     18446744073709551615LLU,        24, ERANGE);
-       TEST_STRTOULL("-2000000000000000000000",8,      18446744073709551615LLU,        23, ERANGE);
-
-       printf("success: strtoull\n");
-       return true;
-}
-
-/* 
-FIXME:
-Types:
-bool
-socklen_t
-uint_t
-uint{8,16,32,64}_t
-int{8,16,32,64}_t
-intptr_t
-
-Constants:
-PATH_NAME_MAX
-UINT{16,32,64}_MAX
-INT32_MAX
-*/
-
-static int test_va_copy(void)
-{
-       /* FIXME */
-       return true;
-}
-
-static int test_FUNCTION(void)
-{
-       printf("test: FUNCTION\n");
-       if (strcmp(__FUNCTION__, "test_FUNCTION") != 0) {
-               printf("failure: FAILURE [\nFAILURE invalid\n]\n");
-               return false;
-       }
-       printf("success: FUNCTION\n");
-       return true;
-}
-
-static int test_MIN(void)
-{
-       printf("test: MIN\n");
-       if (MIN(20, 1) != 1) {
-               printf("failure: MIN [\nMIN invalid\n]\n");
-               return false;
-       }
-       if (MIN(1, 20) != 1) {
-               printf("failure: MIN [\nMIN invalid\n]\n");
-               return false;
-       }
-       printf("success: MIN\n");
-       return true;
-}
-
-static int test_MAX(void)
-{
-       printf("test: MAX\n");
-       if (MAX(20, 1) != 20) {
-               printf("failure: MAX [\nMAX invalid\n]\n");
-               return false;
-       }
-       if (MAX(1, 20) != 20) {
-               printf("failure: MAX [\nMAX invalid\n]\n");
-               return false;
-       }
-       printf("success: MAX\n");
-       return true;
-}
-
-static int test_socketpair(void)
-{
-       int sock[2];
-       char buf[20];
-
-       printf("test: socketpair\n");
-
-       if (socketpair(AF_UNIX, SOCK_STREAM, 0, sock) == -1) {
-               printf("failure: socketpair [\n"
-                          "socketpair() failed\n"
-                          "]\n");
-               return false;
-       }
-
-       if (write(sock[1], "automatisch", 12) == -1) {
-               printf("failure: socketpair [\n"
-                          "write() failed: %s\n"
-                          "]\n", strerror(errno));
-               return false;
-       }
-
-       if (read(sock[0], buf, 12) == -1) {
-               printf("failure: socketpair [\n"
-                          "read() failed: %s\n"
-                          "]\n", strerror(errno));
-               return false;
-       }
-
-       if (strcmp(buf, "automatisch") != 0) {
-               printf("failure: socketpair [\n"
-                          "expected: automatisch, got: %s\n"
-                          "]\n", buf);
-               return false;
-       }
-
-       printf("success: socketpair\n");
-
-       return true;
-}
-
-extern int libreplace_test_strptime(void);
-
-static int test_strptime(void)
-{
-       return libreplace_test_strptime();
-}
-
-extern int getifaddrs_test(void);
-
-static int test_getifaddrs(void)
-{
-
-       printf("test: getifaddrs\n");
-
-       if (getifaddrs_test() != 0) {
-               printf("failure: getifaddrs\n");
-               return false;
-       }
-
-       printf("success: getifaddrs\n");
-       return true;
-}
-
-static int test_utime(void)
-{
-       struct utimbuf u;
-       struct stat st1, st2, st3;
-       int fd;
-
-       printf("test: utime\n");
-       unlink(TESTFILE);
-
-       fd = open(TESTFILE, O_RDWR|O_CREAT, 0600);
-       if (fd == -1) {
-               printf("failure: utime [\n"
-                      "creating '%s' failed - %s\n]\n",
-                      TESTFILE, strerror(errno));
-               return false;
-       }
-
-       if (fstat(fd, &st1) != 0) {
-               printf("failure: utime [\n"
-                      "fstat (1) failed - %s\n]\n",
-                      strerror(errno));
-               return false;
-       }
-
-       u.actime = st1.st_atime + 300;
-       u.modtime = st1.st_mtime - 300;
-       if (utime(TESTFILE, &u) != 0) {
-               printf("failure: utime [\n"
-                      "utime(&u) failed - %s\n]\n",
-                      strerror(errno));
-               return false;
-       }
-
-       if (fstat(fd, &st2) != 0) {
-               printf("failure: utime [\n"
-                      "fstat (2) failed - %s\n]\n",
-                      strerror(errno));
-               return false;
-       }
-
-       if (utime(TESTFILE, NULL) != 0) {
-               printf("failure: utime [\n"
-                      "utime(NULL) failed - %s\n]\n",
-                      strerror(errno));
-               return false;
-       }
-
-       if (fstat(fd, &st3) != 0) {
-               printf("failure: utime [\n"
-                      "fstat (3) failed - %s\n]\n",
-                      strerror(errno));
-               return false;
-       }
-
-#define CMP_VAL(a,c,b) do { \
-       if (a c b) { \
-               printf("failure: utime [\n" \
-                      "%s: %s(%d) %s %s(%d)\n]\n", \
-                      __location__, \
-                      #a, (int)a, #c, #b, (int)b); \
-               return false; \
-       } \
-} while(0)
-#define EQUAL_VAL(a,b) CMP_VAL(a,!=,b)
-#define GREATER_VAL(a,b) CMP_VAL(a,<=,b)
-#define LESSER_VAL(a,b) CMP_VAL(a,>=,b)
-
-       EQUAL_VAL(st2.st_atime, st1.st_atime + 300);
-       EQUAL_VAL(st2.st_mtime, st1.st_mtime - 300);
-       LESSER_VAL(st3.st_atime, st2.st_atime);
-       GREATER_VAL(st3.st_mtime, st2.st_mtime);
-
-#undef CMP_VAL
-#undef EQUAL_VAL
-#undef GREATER_VAL
-#undef LESSER_VAL
-
-       unlink(TESTFILE);
-       printf("success: utime\n");
-       return true;
-}
-
-static int test_utimes(void)
-{
-       struct timeval tv[2];
-       struct stat st1, st2;
-       int fd;
-
-       printf("test: utimes\n");
-       unlink(TESTFILE);
-
-       fd = open(TESTFILE, O_RDWR|O_CREAT, 0600);
-       if (fd == -1) {
-               printf("failure: utimes [\n"
-                      "creating '%s' failed - %s\n]\n",
-                      TESTFILE, strerror(errno));
-               return false;
-       }
-
-       if (fstat(fd, &st1) != 0) {
-               printf("failure: utimes [\n"
-                      "fstat (1) failed - %s\n]\n",
-                      strerror(errno));
-               return false;
-       }
-
-       ZERO_STRUCT(tv);
-       tv[0].tv_sec = st1.st_atime + 300;
-       tv[1].tv_sec = st1.st_mtime - 300;
-       if (utimes(TESTFILE, tv) != 0) {
-               printf("failure: utimes [\n"
-                      "utimes(tv) failed - %s\n]\n",
-                      strerror(errno));
-               return false;
-       }
-
-       if (fstat(fd, &st2) != 0) {
-               printf("failure: utimes [\n"
-                      "fstat (2) failed - %s\n]\n",
-                      strerror(errno));
-               return false;
-       }
-
-#define EQUAL_VAL(a,b) do { \
-       if (a != b) { \
-               printf("failure: utimes [\n" \
-                      "%s: %s(%d) != %s(%d)\n]\n", \
-                      __location__, \
-                      #a, (int)a, #b, (int)b); \
-               return false; \
-       } \
-} while(0)
-
-       EQUAL_VAL(st2.st_atime, st1.st_atime + 300);
-       EQUAL_VAL(st2.st_mtime, st1.st_mtime - 300);
-
-#undef EQUAL_VAL
-
-       unlink(TESTFILE);
-       printf("success: utimes\n");
-       return true;
-}
-
-struct torture_context;
-bool torture_local_replace(struct torture_context *ctx)
-{
-       bool ret = true;
-       ret &= test_ftruncate();
-       ret &= test_strlcpy();
-       ret &= test_strlcat();
-       ret &= test_mktime();
-       ret &= test_initgroups();
-       ret &= test_memmove();
-       ret &= test_strdup();
-       ret &= test_setlinebuf();
-       ret &= test_vsyslog();
-       ret &= test_timegm();
-       ret &= test_setenv();
-       ret &= test_strndup();
-       ret &= test_strnlen();
-       ret &= test_waitpid();
-       ret &= test_seteuid();
-       ret &= test_setegid();
-       ret &= test_asprintf();
-       ret &= test_snprintf();
-       ret &= test_vasprintf();
-       ret &= test_vsnprintf();
-       ret &= test_opendir();
-       ret &= test_readdir();
-       ret &= test_telldir();
-       ret &= test_seekdir();
-       ret &= test_dlopen();
-       ret &= test_chroot();
-       ret &= test_bzero();
-       ret &= test_strerror();
-       ret &= test_errno();
-       ret &= test_mkdtemp();
-       ret &= test_mkstemp();
-       ret &= test_pread();
-       ret &= test_pwrite();
-       ret &= test_getpass();
-       ret &= test_inet_ntoa();
-       ret &= test_strtoll();
-       ret &= test_strtoull();
-       ret &= test_va_copy();
-       ret &= test_FUNCTION();
-       ret &= test_MIN();
-       ret &= test_MAX();
-       ret &= test_socketpair();
-       ret &= test_strptime();
-       ret &= test_getifaddrs();
-       ret &= test_utime();
-       ret &= test_utimes();
-
-       return ret;
-}
-
-#if _SAMBA_BUILD_<4
-int main(void)
-{
-       bool ret = torture_local_replace(NULL);
-       if (ret) 
-               return 0;
-       return -1;
-}
-#endif
diff --git a/source4/lib/replace/timegm.c b/source4/lib/replace/timegm.c
deleted file mode 100644 (file)
index 395c684..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 1997 Kungliga Tekniska Högskolan
- * (Royal Institute of Technology, Stockholm, Sweden). 
- * All rights reserved. 
- *
- * Redistribution and use in source and binary forms, with or without 
- * modification, are permitted provided that the following conditions 
- * are met: 
- *
- * 1. Redistributions of source code must retain the above copyright 
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright 
- *    notice, this list of conditions and the following disclaimer in the 
- *    documentation and/or other materials provided with the distribution. 
- *
- * 3. Neither the name of the Institute nor the names of its contributors 
- *    may be used to endorse or promote products derived from this software 
- *    without specific prior written permission. 
- *
- * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 
- * SUCH DAMAGE. 
- */
-
-/*
-  adapted for Samba4 by Andrew Tridgell
-*/
-
-#include "replace.h"
-#include "system/time.h"
-
-static int is_leap(unsigned y)
-{
-       y += 1900;
-       return (y % 4) == 0 && ((y % 100) != 0 || (y % 400) == 0);
-}
-
-time_t rep_timegm(struct tm *tm)
-{
-       static const unsigned ndays[2][12] ={
-               {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
-               {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
-       time_t res = 0;
-       unsigned i;
-
-       if (tm->tm_mon > 12 ||
-           tm->tm_mon < 0 ||
-           tm->tm_mday > 31 ||
-           tm->tm_min > 60 ||
-           tm->tm_sec > 60 ||
-           tm->tm_hour > 24) {
-               /* invalid tm structure */
-               return 0;
-       }
-       
-       for (i = 70; i < tm->tm_year; ++i)
-               res += is_leap(i) ? 366 : 365;
-       
-       for (i = 0; i < tm->tm_mon; ++i)
-               res += ndays[is_leap(tm->tm_year)][i];
-       res += tm->tm_mday - 1;
-       res *= 24;
-       res += tm->tm_hour;
-       res *= 60;
-       res += tm->tm_min;
-       res *= 60;
-       res += tm->tm_sec;
-       return res;
-}
diff --git a/source4/lib/replace/timegm.m4 b/source4/lib/replace/timegm.m4
deleted file mode 100644 (file)
index 59f3ae0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-AC_CHECK_FUNCS(timegm,[],[LIBREPLACEOBJ="${LIBREPLACEOBJ} timegm.o"])
diff --git a/source4/lib/replace/win32.m4 b/source4/lib/replace/win32.m4
deleted file mode 100644 (file)
index eb364e2..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-AC_CHECK_HEADERS(direct.h windows.h winsock2.h ws2tcpip.h)
-
-#######################################
-# Check for mkdir mode
-AC_CACHE_CHECK( [whether mkdir supports mode], libreplace_cv_mkdir_has_mode,
-       AC_TRY_COMPILE([
-               #include <stdio.h>
-               #ifdef HAVE_DIRECT_H
-               #include <direct.h>
-               #endif],[
-                       mkdir("foo",0777);
-                       return 0;
-       ],
-    libreplace_cv_mkdir_has_mode="yes",
-    libreplace_cv_mkdir_has_mode="no") )
-
-if test "$libreplace_cv_mkdir_has_mode" = "yes"
-then
-    AC_DEFINE(HAVE_MKDIR_MODE, 1, [Define if target mkdir supports mode option])
-fi
diff --git a/source4/lib/replace/win32_replace.h b/source4/lib/replace/win32_replace.h
deleted file mode 100644 (file)
index 9901e72..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-#ifndef _WIN32_REPLACE_H
-#define _WIN32_REPLACE_H
-
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-
-#ifdef HAVE_WINDOWS_H
-#include <windows.h>
-#endif
-
-/* Map BSD Socket errorcodes to the WSA errorcodes (if possible) */ 
-
-#define EAFNOSUPPORT   WSAEAFNOSUPPORT
-#define ECONNREFUSED    WSAECONNREFUSED 
-#define EINPROGRESS    WSAEINPROGRESS
-#define EMSGSIZE       WSAEMSGSIZE 
-#define ENOBUFS         WSAENOBUFS
-#define ENOTSOCK       WSAENOTSOCK
-#define ENETUNREACH    WSAENETUNREACH
-#define ENOPROTOOPT    WSAENOPROTOOPT
-#define ENOTCONN       WSAENOTCONN 
-#define ENOTSUP                134 
-
-/* We undefine the following constants due to conflicts with the w32api headers
- * and the Windows Platform SDK/DDK.
- */
-
-#undef interface
-
-#undef ERROR_INVALID_PARAMETER
-#undef ERROR_INSUFFICIENT_BUFFER
-#undef ERROR_INVALID_DATATYPE
-
-#undef FILE_GENERIC_READ
-#undef FILE_GENERIC_WRITE
-#undef FILE_GENERIC_EXECUTE
-#undef FILE_ATTRIBUTE_READONLY
-#undef FILE_ATTRIBUTE_HIDDEN
-#undef FILE_ATTRIBUTE_SYSTEM
-#undef FILE_ATTRIBUTE_DIRECTORY
-#undef FILE_ATTRIBUTE_ARCHIVE
-#undef FILE_ATTRIBUTE_DEVICE
-#undef FILE_ATTRIBUTE_NORMAL
-#undef FILE_ATTRIBUTE_TEMPORARY
-#undef FILE_ATTRIBUTE_REPARSE_POINT
-#undef FILE_ATTRIBUTE_COMPRESSED
-#undef FILE_ATTRIBUTE_OFFLINE
-#undef FILE_ATTRIBUTE_ENCRYPTED
-#undef FILE_FLAG_WRITE_THROUGH
-#undef FILE_FLAG_NO_BUFFERING
-#undef FILE_FLAG_RANDOM_ACCESS
-#undef FILE_FLAG_SEQUENTIAL_SCAN
-#undef FILE_FLAG_DELETE_ON_CLOSE
-#undef FILE_FLAG_BACKUP_SEMANTICS
-#undef FILE_FLAG_POSIX_SEMANTICS
-#undef FILE_TYPE_DISK
-#undef FILE_TYPE_UNKNOWN
-#undef FILE_CASE_SENSITIVE_SEARCH
-#undef FILE_CASE_PRESERVED_NAMES
-#undef FILE_UNICODE_ON_DISK
-#undef FILE_PERSISTENT_ACLS
-#undef FILE_FILE_COMPRESSION
-#undef FILE_VOLUME_QUOTAS
-#undef FILE_VOLUME_IS_COMPRESSED
-#undef FILE_NOTIFY_CHANGE_FILE_NAME
-#undef FILE_NOTIFY_CHANGE_DIR_NAME
-#undef FILE_NOTIFY_CHANGE_ATTRIBUTES
-#undef FILE_NOTIFY_CHANGE_SIZE
-#undef FILE_NOTIFY_CHANGE_LAST_WRITE
-#undef FILE_NOTIFY_CHANGE_LAST_ACCESS
-#undef FILE_NOTIFY_CHANGE_CREATION
-#undef FILE_NOTIFY_CHANGE_EA
-#undef FILE_NOTIFY_CHANGE_SECURITY
-#undef FILE_NOTIFY_CHANGE_STREAM_NAME
-#undef FILE_NOTIFY_CHANGE_STREAM_SIZE
-#undef FILE_NOTIFY_CHANGE_STREAM_WRITE
-#undef FILE_NOTIFY_CHANGE_NAME
-
-#undef PRINTER_ATTRIBUTE_QUEUED
-#undef PRINTER_ATTRIBUTE_DIRECT
-#undef PRINTER_ATTRIBUTE_DEFAULT
-#undef PRINTER_ATTRIBUTE_SHARED
-#undef PRINTER_ATTRIBUTE_NETWORK
-#undef PRINTER_ATTRIBUTE_HIDDEN
-#undef PRINTER_ATTRIBUTE_LOCAL
-#undef PRINTER_ATTRIBUTE_ENABLE_DEVQ
-#undef PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS
-#undef PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST
-#undef PRINTER_ATTRIBUTE_WORK_OFFLINE
-#undef PRINTER_ATTRIBUTE_ENABLE_BIDI
-#undef PRINTER_ATTRIBUTE_RAW_ONLY
-#undef PRINTER_ATTRIBUTE_PUBLISHED
-#undef PRINTER_ENUM_DEFAULT
-#undef PRINTER_ENUM_LOCAL
-#undef PRINTER_ENUM_CONNECTIONS
-#undef PRINTER_ENUM_FAVORITE
-#undef PRINTER_ENUM_NAME
-#undef PRINTER_ENUM_REMOTE
-#undef PRINTER_ENUM_SHARED
-#undef PRINTER_ENUM_NETWORK
-#undef PRINTER_ENUM_EXPAND
-#undef PRINTER_ENUM_CONTAINER
-#undef PRINTER_ENUM_ICON1
-#undef PRINTER_ENUM_ICON2
-#undef PRINTER_ENUM_ICON3
-#undef PRINTER_ENUM_ICON4
-#undef PRINTER_ENUM_ICON5
-#undef PRINTER_ENUM_ICON6
-#undef PRINTER_ENUM_ICON7
-#undef PRINTER_ENUM_ICON8
-#undef PRINTER_STATUS_PAUSED
-#undef PRINTER_STATUS_ERROR
-#undef PRINTER_STATUS_PENDING_DELETION
-#undef PRINTER_STATUS_PAPER_JAM
-#undef PRINTER_STATUS_PAPER_OUT
-#undef PRINTER_STATUS_MANUAL_FEED
-#undef PRINTER_STATUS_PAPER_PROBLEM
-#undef PRINTER_STATUS_OFFLINE
-#undef PRINTER_STATUS_IO_ACTIVE
-#undef PRINTER_STATUS_BUSY
-#undef PRINTER_STATUS_PRINTING
-#undef PRINTER_STATUS_OUTPUT_BIN_FULL
-#undef PRINTER_STATUS_NOT_AVAILABLE
-#undef PRINTER_STATUS_WAITING
-#undef PRINTER_STATUS_PROCESSING
-#undef PRINTER_STATUS_INITIALIZING
-#undef PRINTER_STATUS_WARMING_UP
-#undef PRINTER_STATUS_TONER_LOW
-#undef PRINTER_STATUS_NO_TONER
-#undef PRINTER_STATUS_PAGE_PUNT
-#undef PRINTER_STATUS_USER_INTERVENTION
-#undef PRINTER_STATUS_OUT_OF_MEMORY
-#undef PRINTER_STATUS_DOOR_OPEN
-#undef PRINTER_STATUS_SERVER_UNKNOWN
-#undef PRINTER_STATUS_POWER_SAVE
-
-#undef DWORD
-#undef HKEY_CLASSES_ROOT
-#undef HKEY_CURRENT_USER
-#undef HKEY_LOCAL_MACHINE
-#undef HKEY_USERS
-#undef HKEY_PERFORMANCE_DATA
-#undef HKEY_CURRENT_CONFIG
-#undef HKEY_DYN_DATA
-#undef REG_DWORD
-#undef REG_QWORD
-
-#undef SERVICE_STATE_ALL
-
-#undef SE_GROUP_MANDATORY
-#undef SE_GROUP_ENABLED_BY_DEFAULT
-#undef SE_GROUP_ENABLED
-
-#endif /* _WIN32_REPLACE_H */
index 336179d837ba9c1a2fa9948206cb1f290b6c3fab..e8d27adc37fd8487a128c675aff582e009cc11c7 100644 (file)
@@ -42,7 +42,7 @@
 #ifdef _SAMBA_BUILD_
 
 #define SOCKET_WRAPPER_NOT_REPLACE
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #include "system/network.h"
 #include "system/filesys.h"
 #include "system/time.h"
index e0828dc9052a550932984855b86cf085f8a116b3..ba6153ec28267cfcb4ad6f7dec2ff96c5811d1a5 100644 (file)
@@ -31,7 +31,7 @@
 /* Include header files from data in config.h file */
 
 #ifndef NO_CONFIG_H
-#include "lib/replace/replace.h"
+#include "../replace/replace.h"
 #endif
 
 #include "system/passwd.h"
index b57093178e6ccca23ad60212d4947e363812f7f7..ad69183205d35697b707425d3e08b9e66a70a4b8 100644 (file)
@@ -21,10 +21,10 @@ PRIVATE_DEPENDENCIES = \
 TORTURE_LOCAL_OBJ_FILES = \
                $(torturesrcdir)/../lib/charset/tests/iconv.o \
                $(torturesrcdir)/../../talloc/testsuite.o \
-               $(torturesrcdir)/../lib/replace/test/getifaddrs.o \
-               $(torturesrcdir)/../lib/replace/test/os2_delete.o \
-               $(torturesrcdir)/../lib/replace/test/strptime.o \
-               $(torturesrcdir)/../lib/replace/test/testsuite.o \
+               $(torturesrcdir)/../../replace/test/getifaddrs.o \
+               $(torturesrcdir)/../../replace/test/os2_delete.o \
+               $(torturesrcdir)/../../replace/test/strptime.o \
+               $(torturesrcdir)/../../replace/test/testsuite.o \
                $(torturesrcdir)/../lib/messaging/tests/messaging.o \
                $(torturesrcdir)/../lib/messaging/tests/irpc.o \
                $(torturesrcdir)/../librpc/tests/binding_string.o \