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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user