/* XXX - methods */
};
-#ifndef MIN
-#define MIN(a,b) (((a)<(b))?(a):(b))
-#endif
-#ifndef MAX
-#define MAX(a,b) (((a)>(b))?(a):(b))
-#endif
-
#ifndef HAVE_VSNPRINTF
static int
sn_reserve (state, n)
state->sz = MAX(state->sz * 2, state->sz + n);
if (state->max_sz)
state->sz = MIN(state->sz, state->max_sz);
- tmp = realloc (state->str, state->sz);
+ tmp = (unsigned char *) realloc (state->str, state->sz);
if (tmp == NULL)
return 1;
state->str = tmp;
* This can't be made into a function...
*/
-#define PARSE_INT_FORMAT(res, arg, unsig) \
+#define PARSE_INT_FORMAT(res, arg) \
+if (long_flag) \
+ res = va_arg(arg, long); \
+else if (short_flag) \
+ res = va_arg(arg, short); \
+else \
+ res = va_arg(arg, int)
+
+#define PARSE_UINT_FORMAT(res, arg) \
if (long_flag) \
- res = va_arg(arg, unsig long); \
+ res = va_arg(arg, unsigned long); \
else if (short_flag) \
- res = va_arg(arg, unsig short); \
+ res = va_arg(arg, unsigned short); \
else \
- res = va_arg(arg, unsig int)
+ res = va_arg(arg, unsigned int)
/*
* zyxprintf - return 0 or -1
unsigned long num;
int minusp = 0;
- PARSE_INT_FORMAT(arg, ap, signed);
+ PARSE_INT_FORMAT(arg, ap);
if (arg < 0) {
minusp = 1;
case 'u' : {
unsigned long arg;
- PARSE_INT_FORMAT(arg, ap, unsigned);
+ PARSE_UINT_FORMAT(arg, ap);
if (append_number (state, arg, 10, "0123456789",
width, prec, flags, 0))
case 'o' : {
unsigned long arg;
- PARSE_INT_FORMAT(arg, ap, unsigned);
+ PARSE_UINT_FORMAT(arg, ap);
if (append_number (state, arg, 010, "01234567",
width, prec, flags, 0))
case 'x' : {
unsigned long arg;
- PARSE_INT_FORMAT(arg, ap, unsigned);
+ PARSE_UINT_FORMAT(arg, ap);
if (append_number (state, arg, 0x10, "0123456789abcdef",
width, prec, flags, 0))
case 'X' :{
unsigned long arg;
- PARSE_INT_FORMAT(arg, ap, unsigned);
+ PARSE_UINT_FORMAT(arg, ap);
if (append_number (state, arg, 0x10, "0123456789ABCDEF",
width, prec, flags, 0))
state.max_sz = max_sz;
state.sz = 1;
- state.str = malloc(state.sz);
+ state.str = (unsigned char *) malloc(state.sz);
if (state.str == NULL) {
*ret = NULL;
return -1;
state.max_sz = 0;
state.sz = sz;
- state.str = str;
- state.s = str;
- state.theend = str + sz - 1;
+ state.str = (unsigned char *) str;
+ state.s = (unsigned char *) str;
+ state.theend = (unsigned char *) str + sz - 1;
state.append_char = sn_append_char;
state.reserve = sn_reserve;