[mapserver-commits] r11020 - branches/branch-5-6/mapserver

svn at osgeo.org svn at osgeo.org
Fri Feb 25 00:24:40 EST 2011


Author: sdlime
Date: 2011-02-24 21:24:40 -0800 (Thu, 24 Feb 2011)
New Revision: 11020

Modified:
   branches/branch-5-6/mapserver/mapogcfilter.c
Log:
Applied backport patch in #3690 to 5.6 branch.

Modified: branches/branch-5-6/mapserver/mapogcfilter.c
===================================================================
--- branches/branch-5-6/mapserver/mapogcfilter.c	2011-02-25 05:20:18 UTC (rev 11019)
+++ branches/branch-5-6/mapserver/mapogcfilter.c	2011-02-25 05:24:40 UTC (rev 11020)
@@ -2040,7 +2040,8 @@
                     CPLSearchXMLNode(psXMLNode,  "PropertyName") &&
                     CPLGetXMLValue(psXMLNode, "wildCard", "") &&
                     CPLGetXMLValue(psXMLNode, "singleChar", "") &&
-                    CPLGetXMLValue(psXMLNode, "escape", ""))
+                    (CPLGetXMLValue(psXMLNode, "escape", "") ||
+                     CPLGetXMLValue(psXMLNode, "escapeChar", "")))
                   /*
                     psXMLNode->psChild &&  
                     strcasecmp(psXMLNode->psChild->pszValue, "wildCard") == 0 &&
@@ -2062,7 +2063,7 @@
                     ((FEPropertyIsLike *)psFilterNode->pOther)->bCaseInsensitive = 0;
 
                     pszTmp = (char *)CPLGetXMLValue(psXMLNode, "wildCard", "");
-                    if (pszTmp)
+                    if (pszTmp)  
                       ((FEPropertyIsLike *)psFilterNode->pOther)->pszWildCard = 
                         strdup(pszTmp);
                     pszTmp = (char *)CPLGetXMLValue(psXMLNode, "singleChar", "");
@@ -2070,10 +2071,16 @@
                       ((FEPropertyIsLike *)psFilterNode->pOther)->pszSingleChar = 
                         strdup(pszTmp);
                     pszTmp = (char *)CPLGetXMLValue(psXMLNode, "escape", "");
-                    if (pszTmp)
+                    if (pszTmp  && strlen(pszTmp)>0)
                       ((FEPropertyIsLike *)psFilterNode->pOther)->pszEscapeChar = 
                         strdup(pszTmp);
-
+                    else
+                    {
+                       pszTmp = (char *)CPLGetXMLValue(psXMLNode, "escapeChar", "");
+                        if (pszTmp)
+                          ((FEPropertyIsLike *)psFilterNode->pOther)->pszEscapeChar = 
+                            strdup(pszTmp);
+                    }
                     pszTmp = (char *)CPLGetXMLValue(psXMLNode, "matchCase", "");
                     if (pszTmp && strlen(pszTmp) > 0 && 
                         strcasecmp(pszTmp, "false") == 0)



More information about the mapserver-commits mailing list