X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Fliblber%2Fstdio.c;h=9b665c8358e6cdfc3ef47f95f06ca2f6b1367c7d;hb=f2958fe7ef5185f879aab3fd057717733f9635b3;hp=eaa8348d98b73b7fae357b6d17f7752d56ee0e64;hpb=deea8db4cd1a397c8adb73102548116badbfb72f;p=openldap diff --git a/libraries/liblber/stdio.c b/libraries/liblber/stdio.c index eaa8348d98..9b665c8358 100644 --- a/libraries/liblber/stdio.c +++ b/libraries/liblber/stdio.c @@ -1,7 +1,16 @@ /* $OpenLDAP$ */ -/* - * Copyright 2002-2003 The OpenLDAP Foundation, All Rights Reserved. - * COPYING RESTRICTIONS APPLY, see COPYRIGHT file +/* This work is part of OpenLDAP Software . + * + * Copyright 1998-2012 The OpenLDAP Foundation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted only as authorized by the OpenLDAP + * Public License. + * + * A copy of this license is available in the file LICENSE in the + * top-level directory of the distribution or, alternatively, at + * . */ #include "portable.h" @@ -9,6 +18,8 @@ #include #include #include +#include +#include #if !defined(HAVE_VSNPRINTF) && !defined(HAVE_EBCDIC) /* Write at most n characters to the buffer in str, return the @@ -73,7 +84,7 @@ int ber_pvt_snprintf( char *str, size_t n, const char *fmt, ... ) va_end( ap ); return res; } -#endif /* !HAVE_VSNPRINTF */ +#endif /* !HAVE_SNPRINTF */ #ifdef HAVE_EBCDIC /* stdio replacements with ASCII/EBCDIC translation for OS/390. @@ -126,10 +137,11 @@ int ber_pvt_vsnprintf( char *str, size_t n, const char *fmt, va_list ap ) ptr = (char *)fmt; s2 = str; fm2[0] = '%'; - if (n) + if (n) { end = str + n; - else + } else { end = NULL; + } for (pct = strchr(ptr, '%'); pct; pct = strchr(ptr, '%')) { len = pct-ptr; @@ -143,8 +155,9 @@ int ber_pvt_vsnprintf( char *str, size_t n, const char *fmt, va_list ap ) if (len < pct-ptr) return -1; for (pct++, f2 = fm2+1; isdigit(*pct);) *f2++ = *pct++; if (*pct == 'l') *f2++ = *pct++; - if (*pct == '%') *s2++ = '%'; - else { + if (*pct == '%') { + *s2++ = '%'; + } else { *f2++ = *pct; *f2 = '\0'; if (*pct == 's') { @@ -164,8 +177,9 @@ int ber_pvt_vsnprintf( char *str, size_t n, const char *fmt, va_list ap ) } else { s2 += sprintf(s2, fm2, ss); } - } else + } else { s2 += sprintf(s2, fm2, va_arg(ap, int)); + } } ptr = pct + 1; }