-/* $Cambridge: exim/src/src/string.c,v 1.5 2005/06/16 14:10:13 ph10 Exp $ */
+/* $Cambridge: exim/src/src/string.c,v 1.7 2005/06/20 10:04:55 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
case 'u':
case 'x':
case 'X':
- if (p >= last - 24) { yield = FALSE; goto END_FORMAT; }
+ if (p >= last - ((length > L_LONG)? 24 : 12))
+ { yield = FALSE; goto END_FORMAT; }
strncpy(newformat, item_start, fp - item_start);
newformat[fp - item_start] = 0;
case L_SHORT:
case L_NORMAL: sprintf(CS p, newformat, va_arg(ap, int)); break;
case L_LONG: sprintf(CS p, newformat, va_arg(ap, long int)); break;
- #ifdef ASSUME_LONG_LONG_SUPPORT
- case L_LONGLONG: sprintf(CS p, newformat, va_arg(ap, long long int)); break;
- #else
- case L_LONGLONG: sprintf(CS p, newformat, va_arg(ap, long long int)); break;
- #endif
+ case L_LONGLONG: sprintf(CS p, newformat, va_arg(ap, LONGLONG_T)); break;
}
while (*p) p++;
break;