Fix bigballofmud.so, and add a test to show a bug I'm having with push_ucs2.
authorAndrew Bartlett <abartlet@samba.org>
Sun, 6 Apr 2003 11:19:26 +0000 (11:19 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 6 Apr 2003 11:19:26 +0000 (11:19 +0000)
Andrew Bartlett
(This used to be commit a60fd29b43537935500f40a32fec553f2b52c0d3)

source3/Makefile.in
source3/torture/t_push_ucs2.c [new file with mode: 0644]

index 70591df2bdaa65b76a11ad2bd6b2ca7279a49bc2..4e7de666b2460efe510bdf5b0931ada269c47c53 100644 (file)
@@ -893,7 +893,7 @@ bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS)
 bin/libbigballofmud.@SHLIBEXT@: $(LIBBIGBALLOFMUD_PICOBJS)
        @echo Linking bigballofmud shared library $@
        $(SHLD) $(LDSHFLAGS) -o $@ $(LIBBIGBALLOFMUD_PICOBJS) $(LIBS) \
-               @SONAMEFLAG@`basename $@`.$(LIBBIGBALLOFMUD_MAJOR)
+               @SONAMEFLAG@`basename $@`.$(LIBBIGBALLOFMUD_MAJOR) $(PASSDBLIBS) $(ADSLIBS)
 
 # It would be nice to build a static bigballofmud too, but when I try
 # I get linker errors about dl_open and similar things.  I'm not sure
@@ -1092,6 +1092,9 @@ bin/t_stringoverflow@EXEEXT@: bin/libbigballofmud.@SHLIBEXT@ torture/t_stringove
 bin/t_doschar@EXEEXT@: bin/libbigballofmud.@SHLIBEXT@ torture/t_doschar.o
        $(CC) $(FLAGS) -o $@ $(LIBS) torture/t_doschar.o -L ./bin -lbigballofmud
 
+bin/t_push_ucs2@EXEEXT@: bin/libbigballofmud.@SHLIBEXT@ torture/t_push_ucs2.o
+       $(CC) $(FLAGS) -o $@ $(LIBS) torture/t_push_ucs2.o -L ./bin -lbigballofmud
+
 install: installbin installman installscripts installdat installswat installmodules installclientlib
 
 # DESTDIR is used here to prevent packagers wasting their time
diff --git a/source3/torture/t_push_ucs2.c b/source3/torture/t_push_ucs2.c
new file mode 100644 (file)
index 0000000..0ab1798
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2003 by Martin Pool
+ * Copyright (C) 2003 by Andrew Bartlett
+ *
+ * Test harness for push_ucs2
+ */
+
+#include "includes.h"
+
+static int check_push_ucs2(const char *orig) 
+{
+       smb_ucs2_t *dest = NULL;
+       char *orig2 = NULL;
+       int ret;
+
+       push_ucs2_allocate(&dest, orig);
+       pull_ucs2_allocate(&orig2, dest);
+       ret = strcmp(orig, orig2);
+       SAFE_FREE(dest);
+       SAFE_FREE(orig2);
+}
+
+int main(int argc, char *argv[])
+{
+       int i, ret;
+       
+       if (argc != 2) {
+               fprintf(stderr, "usage: %s STRING1\n"
+                       "Converts a string, prints the results of memcmp\n",
+                       argv[0]);
+               return 2;
+       }
+
+       for (i = 0; i < 10000; i++)
+               ret = check_push_ucs2(argv[1]);
+
+       printf("%d\n", ret);
+       
+       return 0;
+}