]> granicus.if.org Git - libexpat/commitdiff
Fix for bug #579196.
authorKarl Waclawek <kwaclaw@users.sourceforge.net>
Tue, 9 Jul 2002 18:29:23 +0000 (18:29 +0000)
committerKarl Waclawek <kwaclaw@users.sourceforge.net>
Tue, 9 Jul 2002 18:29:23 +0000 (18:29 +0000)
expat/lib/xmlparse.c

index 0384717b0402b5b2d2733c065dd547aac1ea3530..2451afc3d505aa039ff684e74559aaaea52fb1bd 100644 (file)
@@ -3553,6 +3553,8 @@ doProlog(XML_Parser parser,
       if (dtd.in_eldecl)
        {
          ELEMENT_TYPE *el;
+    const XML_Char *name;
+    int nameLen;
          const char *nxt = quant == XML_CQUANT_NONE ? next : next - enc->minBytesPerChar;
          int myindex = nextScaffoldPart(parser);
          if (myindex < 0)
@@ -3562,8 +3564,11 @@ doProlog(XML_Parser parser,
          el = getElementType(parser, enc, s, nxt);
          if (! el)
            return XML_ERROR_NO_MEMORY;
-         dtd.scaffold[myindex].name = el->name;
-         dtd.contentStringLen +=  nxt - s + 1;
+    name = el->name;
+    dtd.scaffold[myindex].name = name;
+    nameLen = 0;
+    for (; name[nameLen++]; );
+    dtd.contentStringLen +=  nameLen;
        }
       break;