Perl (5.10) seems to handle this this way, util.c: for apidoc my_snprintf The C library C<snprintf> functionality, if available and standards-compliant (uses C<vsnprintf>, actually). However, if the C<vsnprintf> is not available, will unfortunately use the unsafe C<vsprintf> which can overrun the buffer (there is an overrun check, but that may be too late). Consider using C<sv_vcatpvf> instead, or getting C<vsnprintf>.
int Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...) { dTHX; int retval; va_list ap; va_start(ap, format); #ifdef HAS_VSNPRINTF retval = vsnprintf(buffer, len, format, ap); #else retval = vsprintf(buffer, format, ap); #endif va_end(ap); a Andy Bach Systems Mangler Internet: [EMAIL PROTECTED] Voice: (608) 261-5738 Fax: 264-5932 Windows defenstrated - sent from my MacBook Pro!!!