upx-clang-format -i snprintf.cpp

This commit is contained in:
Markus F.X.J. Oberhumer
2016-09-20 13:03:48 +02:00
parent 7acf150ac5
commit c97765de14
+37 -62
View File
@@ -58,7 +58,6 @@
*
**************************************************************/
#if 1
#include "conf.h"
#else
@@ -128,22 +127,18 @@
#undef MAX
#define MAX(p, q) (((p) >= (q)) ? (p) : (q))
/*************************************************************************
//
**************************************************************************/
static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, int c)
{
static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, int c) {
if (*currlen < maxlen)
buffer[*currlen] = (char) c;
*currlen += 1;
}
static void fmtstr(char *buffer, size_t *currlen, size_t maxlen,
const char *value, int flags, int min, int max)
{
static void fmtstr(char *buffer, size_t *currlen, size_t maxlen, const char *value, int flags,
int min, int max) {
int padlen, strln; /* amount to pad */
int cnt = 0;
@@ -177,11 +172,9 @@ 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,
LLONG value, unsigned base, int min, int max, int flags)
{
static void fmtint(char *buffer, size_t *currlen, size_t maxlen, LLONG value, unsigned base,
int min, int max, int flags) {
int signvalue = 0;
ULLONG uvalue;
char convert[64 + 1];
@@ -217,8 +210,10 @@ static void fmtint(char *buffer, size_t *currlen, size_t maxlen,
zpadlen = max - place;
spadlen = min - MAX(max, place) - (signvalue ? 1 : 0);
if (zpadlen < 0) zpadlen = 0;
if (spadlen < 0) spadlen = 0;
if (zpadlen < 0)
zpadlen = 0;
if (spadlen < 0)
spadlen = 0;
if (flags & DP_F_ZERO) {
zpadlen = MAX(zpadlen, spadlen);
spadlen = 0;
@@ -227,8 +222,7 @@ static void fmtint(char *buffer, size_t *currlen, size_t maxlen,
spadlen = -spadlen; /* Left Justifty */
#ifdef DEBUG_SNPRINTF
printf("zpad: %d, spad: %d, min: %d, max: %d, place: %d\n",
zpadlen, spadlen, min, max, place);
printf("zpad: %d, spad: %d, min: %d, max: %d, place: %d\n", zpadlen, spadlen, min, max, place);
#endif
/* Spaces */
@@ -258,15 +252,13 @@ static void fmtint(char *buffer, size_t *currlen, size_t maxlen,
}
}
/*************************************************************************
// floating format support
**************************************************************************/
#if !(NO_FLOAT)
static LDOUBLE abs_val(LDOUBLE value)
{
static LDOUBLE abs_val(LDOUBLE value) {
LDOUBLE result = value;
if (value < 0)
@@ -275,8 +267,7 @@ static LDOUBLE abs_val(LDOUBLE value)
return result;
}
static LDOUBLE POW10(int exp)
{
static LDOUBLE POW10(int exp) {
LDOUBLE result = 1;
while (exp) {
@@ -287,21 +278,20 @@ static LDOUBLE POW10(int exp)
return result;
}
static LLONG ROUND(LDOUBLE value)
{
static LLONG ROUND(LDOUBLE value) {
LLONG intpart;
intpart = (LLONG) value;
value = value - intpart;
if (value >= 0.5) intpart++;
if (value >= 0.5)
intpart++;
return intpart;
}
/* a replacement for modf that doesn't need the math library. Should
be portable, but slow */
static double my_modf(double x0, double *iptr)
{
static double my_modf(double x0, double *iptr) {
int i;
long l;
double x = x0;
@@ -309,7 +299,8 @@ static double my_modf(double x0, double *iptr)
for (i = 0; i < 100; i++) {
l = (long) x;
if (l <= (x+1) && l >= (x-1)) break;
if (l <= (x + 1) && l >= (x - 1))
break;
x *= 0.1;
f *= 10.0;
}
@@ -332,10 +323,8 @@ static double my_modf(double x0, double *iptr)
return x - *iptr;
}
static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
LDOUBLE fvalue, 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) {
/* avoid warnings with 'gcc -Wshadow' */
#undef index
#define index iindex
@@ -418,8 +407,7 @@ static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
iconvert[iplace] = 0;
/* Convert fractional part */
if (fracpart)
{
if (fracpart) {
do {
temp = fracpart;
my_modf(fracpart * 0.1, &fracpart);
@@ -435,7 +423,8 @@ static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
/* -1 for decimal point, another -1 if we are printing a sign */
padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0);
zpadlen = max - fplace;
if (zpadlen < 0) zpadlen = 0;
if (zpadlen < 0)
zpadlen = 0;
if (padlen < 0)
padlen = 0;
if (flags & DP_F_MINUS)
@@ -489,16 +478,13 @@ static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
#undef index
}
#endif /* !(NO_FLOAT) */
/*************************************************************************
// dopr()
**************************************************************************/
static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args)
{
static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args) {
char ch;
LLONG value;
#if !(NO_FLOAT)
@@ -704,16 +690,19 @@ static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args
break;
case 's':
strvalue = va_arg(args, const char *);
if (!strvalue) strvalue = "(NULL)";
if (!strvalue)
strvalue = "(NULL)";
if (max == -1) {
max = (int) strlen(strvalue);
}
if (min > 0 && max >= 0 && min > max) max = min;
if (min > 0 && max >= 0 && min > max)
max = min;
fmtstr(buffer, &currlen, maxlen, strvalue, flags, min, max);
break;
case 'p':
strvalue = (const char *) va_arg(args, const void *);
fmtint (buffer, &currlen, maxlen, (LLONG) (upx_uintptr_t) strvalue, 16, min, max, flags);
fmtint(buffer, &currlen, maxlen, (LLONG)(upx_uintptr_t) strvalue, 16, min, max,
flags);
break;
case 'n':
if (cflags == DP_C_SHORT) {
@@ -767,14 +756,12 @@ static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args
return currlen;
}
/*************************************************************************
// public entries
**************************************************************************/
// UPX version with assertions
static int xdopr(char *buffer, size_t maxlen, const char *format, va_list args)
{
static int xdopr(char *buffer, size_t maxlen, const char *format, va_list args) {
size_t ret;
// preconditions
@@ -787,8 +774,7 @@ static int xdopr(char *buffer, size_t maxlen, const char *format, va_list args)
ret = dopr(buffer, maxlen, format, args);
// postconditions
if (buffer != NULL)
{
if (buffer != NULL) {
assert((int) ret >= 0);
assert(ret < maxlen);
assert(buffer[ret] == '\0');
@@ -797,15 +783,11 @@ static int xdopr(char *buffer, size_t maxlen, const char *format, va_list args)
return (int) ret;
}
int upx_vsnprintf(char *str, size_t count, const char *format, va_list ap)
{
int upx_vsnprintf(char *str, size_t count, const char *format, va_list ap) {
return xdopr(str, count, format, ap);
}
int __acc_cdecl_va upx_snprintf(char *str, size_t count, const char *format,...)
{
int __acc_cdecl_va upx_snprintf(char *str, size_t count, const char *format, ...) {
va_list ap;
int ret;
@@ -815,16 +797,13 @@ int __acc_cdecl_va upx_snprintf(char *str, size_t count, const char *format,...)
return ret;
}
int upx_vasprintf(char **ptr, const char *format, va_list ap)
{
int upx_vasprintf(char **ptr, const char *format, va_list ap) {
int ret;
assert(ptr != NULL);
*ptr = NULL;
ret = xdopr(NULL, 0, format, ap);
if (ret > 0)
{
if (ret > 0) {
*ptr = (char *) malloc(ret + 1);
assert(*ptr != NULL);
if (*ptr == NULL)
@@ -834,9 +813,7 @@ int upx_vasprintf(char **ptr, const char *format, va_list ap)
return ret;
}
int __acc_cdecl_va upx_asprintf(char **ptr, const char *format, ...)
{
int __acc_cdecl_va upx_asprintf(char **ptr, const char *format, ...) {
va_list ap;
int ret;
@@ -846,7 +823,6 @@ int __acc_cdecl_va upx_asprintf(char **ptr, const char *format, ...)
return ret;
}
/*************************************************************************
//
**************************************************************************/
@@ -998,4 +974,3 @@ int main(void)
/*
vi:ts=4:et
*/