Merge patch from JeremyF:
24-sym-offset
When looking up a symbol, also attach an offset. Also changes to make
sprintf reentrant.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1299 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_mylibc.c b/coregrind/vg_mylibc.c
index c8d2642..60f969f 100644
--- a/coregrind/vg_mylibc.c
+++ b/coregrind/vg_mylibc.c
@@ -662,21 +662,18 @@
/* A general replacement for sprintf(). */
-static Char* vg_sprintf_ptr;
-
-static void add_to_vg_sprintf_buf ( Char c )
-{
- *vg_sprintf_ptr++ = c;
-}
-
UInt VG_(sprintf) ( Char* buf, Char *format, ... )
{
UInt ret;
-
va_list vargs;
+ Char *ptr = buf;
+ static void add_to_vg_sprintf_buf ( Char c )
+ {
+ *ptr++ = c;
+ }
+
va_start(vargs,format);
- vg_sprintf_ptr = buf;
ret = VG_(vprintf) ( add_to_vg_sprintf_buf, format, vargs );
add_to_vg_sprintf_buf(0);