sial_ptr() makes some unsafe assumptions about how much we want to stuff
into a string in a printf.
static char *
sial_ptr(char *fmt, value_t **vals)
char *onefmt=sial_alloc(100), *onei=onefmt;
char last=' ';
#define NBYTES (len-(nfmt-ni))
This is mostly fine when dealing with numbers, but if we have strings
(eg %s), then we can easily hit this.
Attached is a patch which checks for string arguments and dynamically
sizes the fmt buffers appropriately. We still add 100 chars to allow for
numbers (since there is no hard and fast rules for how big a number will