Format functions: change format specifier %t into %pS. Remove the _no_f_c formatting function variants.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12108 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/m_debuglog.c b/coregrind/m_debuglog.c
index ccd2ad9..7ad3f8c 100644
--- a/coregrind/m_debuglog.c
+++ b/coregrind/m_debuglog.c
@@ -721,12 +721,23 @@
ret += myvprintf_int64(send, send_arg2, flags, 10, width, False,
(ULong)(va_arg (vargs, UInt)));
break;
- case 'p': /* %p */
- ret += 2;
- send('0',send_arg2);
- send('x',send_arg2);
- ret += myvprintf_int64(send, send_arg2, flags, 16, width, True,
- (ULong)((UWord)va_arg (vargs, void *)));
+ case 'p':
+ if (format[i+1] == 'S') {
+ i++;
+ /* %pS, like %s but escaping chars for XML safety */
+ /* Note: simplistic; ignores field width and flags */
+ char *str = va_arg (vargs, char *);
+ if (str == (char*) 0)
+ str = "(null)";
+ ret += myvprintf_str_XML_simplistic(send, send_arg2, str);
+ } else {
+ /* %p */
+ ret += 2;
+ send('0',send_arg2);
+ send('x',send_arg2);
+ ret += myvprintf_int64(send, send_arg2, flags, 16, width, True,
+ (ULong)((UWord)va_arg (vargs, void *)));
+ }
break;
case 'x': /* %x */
case 'X': /* %X */
@@ -754,13 +765,6 @@
flags, width, str, format[i]=='S');
break;
}
- case 't': { /* %t, like %s but escaping chars for XML safety */
- /* Note: simplistic; ignores field width and flags */
- char *str = va_arg (vargs, char *);
- if (str == (char*) 0) str = "(null)";
- ret += myvprintf_str_XML_simplistic(send, send_arg2, str);
- break;
- }
// case 'y': { /* %y - print symbol */
// Char buf[100];