[Expat-checkins] expat/lib xmlparse.c,1.90,1.91

Karl Waclawek kwaclaw@users.sourceforge.net
Thu, 03 Oct 2002 12:41:29 -0700


Update of /cvsroot/expat/expat/lib
In directory usw-pr-cvs1:/tmp/cvs-serv24406

Modified Files:
	xmlparse.c 
Log Message:
Applied patch #618199.

Index: xmlparse.c
===================================================================
RCS file: /cvsroot/expat/expat/lib/xmlparse.c,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -d -r1.90 -r1.91
--- xmlparse.c	1 Oct 2002 16:58:54 -0000	1.90
+++ xmlparse.c	3 Oct 2002 19:41:26 -0000	1.91
@@ -1710,11 +1710,17 @@
       char *temp = REALLOC(tag->buf, bufSize);
       if (temp == NULL)
         return XML_FALSE;
-      /* if tag->name.str points to tag->buf (i.e. when namespace
+      /* if tag->name.str points to tag->buf (only when namespace
          processing is off) then we have to update it 
       */
       if (tag->name.str == (XML_Char *)tag->buf)
         tag->name.str = (XML_Char *)temp;
+      /* if tag->name.localPart is set (when namespace processing is on)
+         then update it as well, since it will always point into tag-buf
+      */
+      if (tag->name.localPart)
+        tag->name.localPart = (XML_Char *)temp + (tag->name.localPart -
+                                                  (XML_Char *)tag->buf);
       tag->buf = temp;
       tag->bufEnd = temp + bufSize;
       rawNameBuf = temp + nameLen;