Update of /cvsroot/monetdb/MonetDB5/src/modules/mal
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv6590/src/modules/mal

Modified Files:
        batxml.mx 
Log Message:
don't use strcat but simply array assignments

added some more missing functions for sql


Index: batxml.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/batxml.mx,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- batxml.mx   31 Aug 2007 17:57:52 -0000      1.13
+++ batxml.mx   1 Sep 2007 12:11:12 -0000       1.14
@@ -250,34 +250,34 @@
                str t= (str) BUNtail(b,p);
                if( (elm=BATXMLcountEscape(t)) ){
                        if( (len=strlen(t)+6*elm+1) >= size){
+                               assert(0);
                                buf= GDKrealloc(buf, len);
                                size= len;
                        }
-                       for(s=buf ; *t; t++)
+                       for(s=buf, *s=0; *t; t++)
                        if (*t == '&'){
-                               strcat(s,"&"); 
-                               while(*s) s++;
+                               *s++ = '&'; *s++ = 'a'; *s++ = 'm'; *s++ = 'p';
+                               *s++ = ';';
                        } else if (*t == '<'){
-                               strcat(s,"&lt;"); 
-                               while(*s) s++;
+                               *s++ = '&'; *s++ = 'l'; *s++ = 't'; *s++ = ';';
                        } else if (*t == '>'){
-                               strcat(s,"&gt;");
-                               while(*s) s++;
-                       }else if (*t == '"'){
-                               strcat(s,"&quot;");
-                               while(*s) s++;
+                               *s++ = '&'; *s++ = 'g'; *s++ = 't'; *s++ = ';';
+                       } else if (*t == '"'){
+                               *s++ = '&'; *s++ = 'q'; *s++ = 'u'; *s++ = 'o';
+                               *s++ = 't'; *s++ = ';';
                        } else if (*t == '\''){
-                               strcat(s,"&apos;");
-                               while(*s) s++;
+                               *s++ = '&'; *s++ = 'a'; *s++ = 'p'; *s++ = 'o';
+                               *s++ = 's'; *s++ = ';';
                        } else if ((*t & 0xFF) < 0x20){
-                               sprintf(s, "&#%d;", *t & 0xFF);
-                               while(*s) s++;
-                       } else
+                               s+=sprintf(s, "&#%d;", *t & 0xFF);
+                       } else {
                                *s++= *t;
+                       }
                        *s=0;
                        bunfastins(bn,h,buf);
-               } else 
+               } else {
                        bunfastins(bn,h,t);
+               }
        }
        GDKfree(buf);
        finalizeResult(ret,bn,b);


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to