summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--openbsd-compat/bsd-snprintf.c8
2 files changed, 10 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 61bf3b85..342844d3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
20060318
-- (djm) [auth-pam.c] Fix memleak in error path, from Coverity via
- elad AT NetBSD.org
+ - (djm) [auth-pam.c] Fix memleak in error path, from Coverity via
+ elad AT NetBSD.org
+ - (dtucker) [openbsd-compat/bsd-snprintf.c] Bug #1173: make fmtint() take
+ a LLONG rather than a long. Fixes scp'ing of large files on platforms
+ with missing/broken snprintfs. Patch from e.borovac at bom.gov.au.
20060316
- (dtucker) [entropy.c] Add headers for WIFEXITED and friends.
@@ -4186,4 +4189,4 @@
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
-$Id: ChangeLog,v 1.4229 2006/03/18 12:04:49 djm Exp $
+$Id: ChangeLog,v 1.4230 2006/03/18 13:07:07 dtucker Exp $
diff --git a/openbsd-compat/bsd-snprintf.c b/openbsd-compat/bsd-snprintf.c
index e4ba154f..571c61fc 100644
--- a/openbsd-compat/bsd-snprintf.c
+++ b/openbsd-compat/bsd-snprintf.c
@@ -89,7 +89,7 @@
#include "includes.h"
-RCSID("$Id: bsd-snprintf.c,v 1.11 2005/12/17 11:32:04 dtucker Exp $");
+RCSID("$Id: bsd-snprintf.c,v 1.12 2006/03/18 13:07:07 dtucker Exp $");
#if defined(BROKEN_SNPRINTF) /* For those with broken snprintf() */
# undef HAVE_SNPRINTF
@@ -161,7 +161,7 @@ static size_t dopr(char *buffer, size_t maxlen, const char *format,
static void fmtstr(char *buffer, size_t *currlen, size_t maxlen,
char *value, int flags, int min, int max);
static void fmtint(char *buffer, size_t *currlen, size_t maxlen,
- long value, int base, int min, int max, int flags);
+ LLONG value, int base, int min, int max, int flags);
static void fmtfp(char *buffer, size_t *currlen, size_t maxlen,
LDOUBLE fvalue, int min, int max, int flags);
static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c);
@@ -468,10 +468,10 @@ static void fmtstr(char *buffer, size_t *currlen, size_t maxlen,
/* Have to handle DP_F_NUM (ie 0x and 0 alternates) */
static void fmtint(char *buffer, size_t *currlen, size_t maxlen,
- long value, int base, int min, int max, int flags)
+ LLONG value, int base, int min, int max, int flags)
{
int signvalue = 0;
- unsigned long uvalue;
+ unsigned LLONG uvalue;
char convert[20];
int place = 0;
int spadlen = 0; /* amount to space pad */