summaryrefslogtreecommitdiff
path: root/posix/wordexp.c
diff options
context:
space:
mode:
Diffstat (limited to 'posix/wordexp.c')
-rw-r--r--posix/wordexp.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/posix/wordexp.c b/posix/wordexp.c
index 765d14d81f..40d1b6a7db 100644
--- a/posix/wordexp.c
+++ b/posix/wordexp.c
@@ -1,5 +1,5 @@
/* POSIX.2 wordexp implementation.
- Copyright (C) 1997-2002, 2003, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997-2003, 2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Tim Waugh <tim@cyberelk.demon.co.uk>.
@@ -25,6 +25,7 @@
#include <fnmatch.h>
#include <glob.h>
#include <libintl.h>
+#include <limits.h>
#include <paths.h>
#include <pwd.h>
#include <signal.h>
@@ -757,8 +758,13 @@ parse_arith (char **word, size_t *word_length, size_t *max_length,
convertme = numresult;
result[20] = '\0';
- *word = w_addstr (*word, word_length, max_length,
- _itoa (convertme, &result[20], 10, 0));
+ char *numstr;
+#if LLONG_MAX == LONG_MAX
+ numstr = _itoa_word (convertme, &result[20], 10, 0);
+#else
+ numstr = _itoa (convertme, &result[20], 10, 0);
+#endif
+ *word = w_addstr (*word, word_length, max_length, numstr);
free (expr);
return *word ? 0 : WRDE_NOSPACE;
}