diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2013-01-10 14:15:49 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2013-01-10 14:15:49 -0800 |
commit | c34521ceac1ba7aee2afa06a883415605ba9e07c (patch) | |
tree | 97111f4f36b9904ed7ac11c3d0dff312e12f4a8e /localedata | |
parent | 4cf8f2098f227d32f3b73c70a6498c84872c24ba (diff) | |
download | glibc-c34521ceac1ba7aee2afa06a883415605ba9e07c.tar.gz glibc-c34521ceac1ba7aee2afa06a883415605ba9e07c.tar.xz glibc-c34521ceac1ba7aee2afa06a883415605ba9e07c.zip |
Support run bug-setlocale1 directly
Diffstat (limited to 'localedata')
-rw-r--r-- | localedata/Makefile | 6 | ||||
-rw-r--r-- | localedata/bug-setlocale1-static.c | 1 | ||||
-rw-r--r-- | localedata/bug-setlocale1.c | 18 |
3 files changed, 15 insertions, 10 deletions
diff --git a/localedata/Makefile b/localedata/Makefile index d9f66c5d3e..923916438a 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -78,6 +78,8 @@ locale_test_suite := tst_iswalnum tst_iswalpha tst_iswcntrl \ tests = $(locale_test_suite) tst-digits tst-setlocale bug-iconv-trans \ tst-leaks tst-mbswcs6 tst-xlocale1 tst-xlocale2 bug-usesetlocale \ tst-strfmon1 tst-sscanf bug-setlocale1 tst-setlocale2 +tests-static = bug-setlocale1-static +tests += $(tests-static) ifeq (yes,$(build-shared)) ifneq (no,$(PERL)) tests: $(objpfx)mtrace-tst-leaks @@ -285,7 +287,9 @@ $(objpfx)mtrace-tst-leaks: $(objpfx)tst-leaks.out $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks.mtrace > $@ bug-setlocale1-ENV = LOCPATH=$(common-objpfx)localedata -bug-setlocale1-ARGS = $(common-objpfx) +bug-setlocale1-ARGS = -- $(built-program-cmd) +bug-setlocale1-static-ENV = $(bug-setlocale1-ENV) +bug-setlocale1-static-ARGS = $(bug-setlocale1-ARGS) tst-setlocale2-ENV = LOCPATH=$(common-objpfx)localedata $(objdir)/iconvdata/gconv-modules: diff --git a/localedata/bug-setlocale1-static.c b/localedata/bug-setlocale1-static.c new file mode 100644 index 0000000000..f37177b03b --- /dev/null +++ b/localedata/bug-setlocale1-static.c @@ -0,0 +1 @@ +#include "bug-setlocale1.c" diff --git a/localedata/bug-setlocale1.c b/localedata/bug-setlocale1.c index cf787be02c..dc7f6f3f08 100644 --- a/localedata/bug-setlocale1.c +++ b/localedata/bug-setlocale1.c @@ -12,16 +12,16 @@ do_test (int argc, char *argv[]) if (argc > 1) { char *newargv[5]; - asprintf (&newargv[0], "%self/ld.so", argv[1]); - if (newargv[0] == NULL) + int i; + if (argc != 2 && argc != 5) { - puts ("asprintf failed"); + printf ("wrong number of arguments (%d)\n", argc); return 1; } - newargv[1] = (char *) "--library-path"; - newargv[2] = argv[1]; - newargv[3] = argv[0]; - newargv[4] = NULL; + + for (i = 0; i < (argc == 5 ? 4 : 1); i++) + newargv[i] = argv[i + 1]; + newargv[i] = NULL; char *env[3]; env[0] = (char *) "LC_CTYPE=de_DE.UTF-8"; @@ -32,9 +32,9 @@ do_test (int argc, char *argv[]) return 1; } asprintf (&env[1], "LOCPATH=%s", loc); - if (newargv[0] == NULL) + if (env[1] == NULL) { - puts ("second asprintf failed"); + puts ("asprintf failed"); return 1; } env[2] = NULL; |