diff options
author | jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68> | 2004-04-04 11:50:17 +0000 |
---|---|---|
committer | jorton <jorton@13f79535-47bb-0310-9956-ffa450edef68> | 2004-04-04 11:50:17 +0000 |
commit | 37e1da9c53b0202a6d4c68b7f813fbc8c0bbf719 (patch) | |
tree | 4d29ea8ab5cfe5c4cd0313355419b1519ac4bf96 /strings/apr_snprintf.c | |
parent | f2570cb3f3edb02b9140ec087ddb8d8fbf30b2ba (diff) | |
download | libapr-37e1da9c53b0202a6d4c68b7f813fbc8c0bbf719.tar.gz |
* string/apr_snprintf.c (conv_10_quad): Fix formatting of integers
smaller than LONG_MIN.
* test/testfmt.c (more_int64_fmts): Add regression test.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@65037 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'strings/apr_snprintf.c')
-rw-r--r-- | strings/apr_snprintf.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/strings/apr_snprintf.c b/strings/apr_snprintf.c index b000eb8d1..73856a257 100644 --- a/strings/apr_snprintf.c +++ b/strings/apr_snprintf.c @@ -393,7 +393,8 @@ static char *conv_10_quad(widest_int num, register bool_int is_unsigned, * number against the largest long value it can be. If <=, we * punt to the quicker version. */ - if ((num <= ULONG_MAX && is_unsigned) || (num <= LONG_MAX && !is_unsigned)) + if ((num <= ULONG_MAX && is_unsigned) + || (num <= LONG_MAX && num >= LONG_MIN && !is_unsigned)) return(conv_10( (wide_int)num, is_unsigned, is_negative, buf_end, len)); |