From: Julian Seward Date: Wed, 20 Oct 2004 09:56:55 +0000 (+0000) Subject: cat_n_send: get rid of bogus dependency on snprintf(). This should X-Git-Tag: svn/VALGRIND_3_0_1^2~950 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8cd3a1b10db7ba130a0ee9937be0be28a4608322;p=thirdparty%2Fvalgrind.git cat_n_send: get rid of bogus dependency on snprintf(). This should possibly go in the CVS repo. git-svn-id: svn://svn.valgrind.org/vex/trunk@384 --- diff --git a/VEX/head20041019/coregrind/vg_libpthread.c b/VEX/head20041019/coregrind/vg_libpthread.c index cb01723164..a10eaf05d5 100644 --- a/VEX/head20041019/coregrind/vg_libpthread.c +++ b/VEX/head20041019/coregrind/vg_libpthread.c @@ -275,12 +275,27 @@ void barf ( const char* str ) static void cat_n_send ( char* s1, char* s2, char* s3 ) { - char buf[1000]; +# define N_BUF 1000 + int i; + char buf[N_BUF]; if (get_pt_trace_level() >= 0) { - snprintf(buf, sizeof(buf), "%s%s%s", s1, s2, s3); - buf[sizeof(buf)-1] = '\0'; + i = 0; + while (*s1) { + if (i >= N_BUF) break; + buf[i++] = *s1++; + } + while (*s2) { + if (i >= N_BUF) break; + buf[i++] = *s2++; + } + while (*s3) { + if (i >= N_BUF) break; + buf[i++] = *s3++; + } + buf[i] = 0; VALGRIND_INTERNAL_PRINTF(buf); } +# undef N_BUF } static void oh_dear ( char* fn, char* aux, char* s )