diff options
Diffstat (limited to 'localedata/bug-setlocale1.c')
-rw-r--r-- | localedata/bug-setlocale1.c | 18 |
1 files changed, 9 insertions, 9 deletions
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; |