/ msSLDConvertRegexExpToOgcIsLike */ / Convert mapserver regex expression to ogc is like propoery */ exprssion. */ / Review bug 1644 for details. Here are the current rules: */ / The filter encoding property like is more limited compared */ to regular expressiosn that can be built in mapserver. I */ think
| 5561 | /* */ |
| 5562 | /************************************************************************/ |
| 5563 | char *msSLDConvertRegexExpToOgcIsLike(char *pszRegex) |
| 5564 | { |
| 5565 | char szBuffer[1024]; |
| 5566 | int iBuffer = 0, i=0; |
| 5567 | int nLength = 0; |
| 5568 | |
| 5569 | if (!pszRegex || strlen(pszRegex) == 0) |
| 5570 | return NULL; |
| 5571 | |
| 5572 | szBuffer[0] = '\0'; |
| 5573 | nLength = strlen(pszRegex); |
| 5574 | |
| 5575 | while (i < nLength) |
| 5576 | { |
| 5577 | if (pszRegex[i] != '.') |
| 5578 | { |
| 5579 | szBuffer[iBuffer++] = pszRegex[i]; |
| 5580 | i++; |
| 5581 | } |
| 5582 | else |
| 5583 | { |
| 5584 | if (i<nLength-1 && pszRegex[i+1] == '*') |
| 5585 | { |
| 5586 | szBuffer[iBuffer++] = '*'; |
| 5587 | i = i+2; |
| 5588 | } |
| 5589 | else |
| 5590 | { |
| 5591 | szBuffer[iBuffer++] = pszRegex[i]; |
| 5592 | i++; |
| 5593 | } |
| 5594 | } |
| 5595 | } |
| 5596 | szBuffer[iBuffer] = '\0'; |
| 5597 | |
| 5598 | return msStrdup(szBuffer); |
| 5599 | } |
| 5600 | |
| 5601 | |
| 5602 |
no test coverage detected