Fix GC_MARK_DEBUG code (315783, NPOTB but r=bz).

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@187061 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
brendan%mozilla.org
2006-01-06 06:34:35 +00:00
parent 9ae3e6536c
commit c425d7fcab

View File

@@ -4851,12 +4851,26 @@ xml_mark_vector(JSContext *cx, JSXML **vec, uint32 len, void *arg)
elt = vec[i];
{
#ifdef GC_MARK_DEBUG
char buf[100];
JSXMLQName *qn = elt->name;
char buf[120];
JS_snprintf(buf, sizeof buf, "%s::%s",
qn->uri ? JS_GetStringBytes(qn->uri) : "*",
JS_GetStringBytes(qn->localName));
if (elt->xml_class == JSXML_CLASS_LIST) {
strcpy(buf, js_XMLList_str);
} else if (JSXML_HAS_NAME(elt)) {
JSXMLQName *qn = elt->name;
JS_snprintf(buf, sizeof buf, "%s::%s",
qn->uri ? JS_GetStringBytes(qn->uri) : "*",
JS_GetStringBytes(qn->localName));
} else {
JSString *str = elt->xml_value;
size_t srclen = JSSTRING_LENGTH(str);
size_t dstlen = sizeof buf;
if (srclen >= sizeof buf / 6)
srclen = sizeof buf / 6 - 1;
js_DeflateStringToBuffer(cx, JSSTRING_CHARS(str), srclen,
buf, &dstlen);
}
#else
const char *buf = NULL;
#endif