Page MenuHomeFreeBSD

D26599.id77664.diff
No OneTemporary

D26599.id77664.diff

Index: sys/gdb/gdb_main.c
===================================================================
--- sys/gdb/gdb_main.c
+++ sys/gdb/gdb_main.c
@@ -361,9 +361,7 @@
}
/*
- * dst must be 2x strlen(max_src) + 1.
- *
- * Squashes invalid XML characters down to _. Sorry. Then escapes for GDB.
+ * Squashes special XML and GDB characters down to _. Sorry.
*/
static void
qXfer_escape_xmlattr_str(char *dst, size_t dstlen, const char *src)
@@ -384,8 +382,18 @@
/* GDB escape. */
if (strchr(forbidden, c) != NULL) {
+ /*
+ * It would be nice to escape these properly, but to do
+ * it correctly we need to escape them in the transmit
+ * layer, potentially doubling our buffer requirements.
+ * For now, avoid breaking the protocol by squashing
+ * them to underscore.
+ */
+#if 0
*dst++ = '}';
c ^= 0x20;
+#endif
+ c = '_';
}
*dst++ = c;
}

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 11, 1:52 AM (13 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31261350
Default Alt Text
D26599.id77664.diff (887 B)

Event Timeline