summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
authorjorton <jorton@13f79535-47bb-0310-9956-ffa450edef68>2004-04-04 11:50:17 +0000
committerjorton <jorton@13f79535-47bb-0310-9956-ffa450edef68>2004-04-04 11:50:17 +0000
commit37e1da9c53b0202a6d4c68b7f813fbc8c0bbf719 (patch)
tree4d29ea8ab5cfe5c4cd0313355419b1519ac4bf96 /strings
parentf2570cb3f3edb02b9140ec087ddb8d8fbf30b2ba (diff)
downloadlibapr-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')
-rw-r--r--strings/apr_snprintf.c3
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));