- (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.
This commit is contained in:
Darren Tucker 2006-03-19 00:07:07 +11:00
parent 66f9eb65ff
commit 9834cab32e
2 changed files with 10 additions and 7 deletions

View File

@ -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 $

View File

@ -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 */