Update of /cvsroot/monetdb/pathfinder/runtime
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv9890/runtime

Modified Files:
        shredder.mx 
Log Message:
propagated changes of Friday Feb 20 2009 - Monday Feb 23 2009
from the Feb2009 branch to the development trunk

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/02/20 - jflokstra: runtime/shredder.mx,1.153.2.5
- check GDKrealloc() return value
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/02/20 - jflokstra: runtime/shredder.mx,1.153.2.6
- fixed shred_characters() bug, sorry :-(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


U shredder.mx
Index: shredder.mx
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/runtime/shredder.mx,v
retrieving revision 1.155
retrieving revision 1.156
diff -u -d -r1.155 -r1.156
--- shredder.mx 20 Feb 2009 09:25:09 -0000      1.155
+++ shredder.mx 23 Feb 2009 10:35:22 -0000      1.156
@@ -1105,14 +1105,30 @@
                  const xmlChar *cs, 
                  int n)
 {
+#ifdef OLD_SHRED_CHARACTERS
     shredCtxStruct *shredCtx = (shredCtxStruct*) xmlCtx;
+    int l = MIN(PFSHRED_STRLEN_MAX -(int) shredCtx->content, n);
 
-    if ( (shredCtx->content + n + 1) < shredCtx->content_max) {
+    memcpy(&(shredCtx->content_buf[shredCtx->content]), cs, l);
+    shredCtx->content += l;
+
+    if (l < n)
+        stream_printf(GDKout, "!WARNING: shred_characters truncated text node 
> %d characters(starts with `%.16s...')\n",
+        (int) PFSHRED_STRLEN_MAX, cs);
+#else
+    shredCtxStruct *shredCtx = (shredCtxStruct*) xmlCtx;
+
+    if ( (shredCtx->content + n + 1) > shredCtx->content_max) {
        shredCtx->content_max = shredCtx->content + n + 1;
         shredCtx->content_buf = GDKrealloc(shredCtx->content_buf, 
shredCtx->content_max);
+       if (shredCtx->content_buf == NULL) {
+           GDKerror("shred_characters: GDKrealloc() failed.\n");
+            BAILOUT(shredCtx);
+        }
     }
     memcpy(&(shredCtx->content_buf[shredCtx->content]), cs, n);
     shredCtx->content += n;
+#endif
 }
 
 /**


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to