From fbd5367245eef1966a5e52adee6f48bfea1dd474 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sun, 6 Apr 2003 11:19:26 +0000 Subject: Fix bigballofmud.so, and add a test to show a bug I'm having with push_ucs2. Andrew Bartlett (This used to be commit a60fd29b43537935500f40a32fec553f2b52c0d3) --- source3/Makefile.in | 5 ++++- source3/torture/t_push_ucs2.c | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 source3/torture/t_push_ucs2.c (limited to 'source3') diff --git a/source3/Makefile.in b/source3/Makefile.in index 70591df2bd..4e7de666b2 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -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 index 0000000000..0ab17983a0 --- /dev/null +++ b/source3/torture/t_push_ucs2.c @@ -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; +} -- cgit