| 4614 | } |
| 4615 | |
| 4616 | char *msSLDGetLeftExpressionOfOperator(char *pszExpression) |
| 4617 | { |
| 4618 | char *pszReturn = NULL; |
| 4619 | int nLength = 0, i =0, iReturn=0; |
| 4620 | |
| 4621 | if (!pszExpression || (nLength = strlen(pszExpression)) <=0) |
| 4622 | return NULL; |
| 4623 | |
| 4624 | pszReturn = (char *)malloc(sizeof(char)*(nLength+1)); |
| 4625 | pszReturn[0] = '\0'; |
| 4626 | if (strstr(pszExpression, " AND ") || strstr(pszExpression, " and ")) |
| 4627 | { |
| 4628 | for (i=0; i<nLength-5; i++) |
| 4629 | { |
| 4630 | if (pszExpression[i] == ' ' && |
| 4631 | (pszExpression[i+1] == 'A' || pszExpression[i] == 'a') && |
| 4632 | (pszExpression[i+2] == 'N' || pszExpression[i] == 'n') && |
| 4633 | (pszExpression[i+3] == 'D' || pszExpression[i] == 'd') && |
| 4634 | (pszExpression[i+4] == ' ')) |
| 4635 | break; |
| 4636 | else |
| 4637 | { |
| 4638 | pszReturn[iReturn++] = pszExpression[i]; |
| 4639 | } |
| 4640 | pszReturn[iReturn] = '\0'; |
| 4641 | } |
| 4642 | } |
| 4643 | else if (strstr(pszExpression, "AND(") || strstr(pszExpression, "and(")) |
| 4644 | { |
| 4645 | for (i=0; i<nLength-4; i++) |
| 4646 | { |
| 4647 | if ((pszExpression[i] == 'A' || pszExpression[i] == 'a') && |
| 4648 | (pszExpression[i+1] == 'N' || pszExpression[i] == 'n') && |
| 4649 | (pszExpression[i+2] == 'D' || pszExpression[i] == 'd') && |
| 4650 | (pszExpression[i+3] == '(')) |
| 4651 | break; |
| 4652 | else |
| 4653 | { |
| 4654 | pszReturn[iReturn++] = pszExpression[i]; |
| 4655 | } |
| 4656 | pszReturn[iReturn] = '\0'; |
| 4657 | } |
| 4658 | } |
| 4659 | else if (strstr(pszExpression, " OR ") || strstr(pszExpression, " or ")) |
| 4660 | { |
| 4661 | for (i=0; i<nLength-4; i++) |
| 4662 | { |
| 4663 | if (pszExpression[i] == ' ' && |
| 4664 | (pszExpression[i+1] == 'O' || pszExpression[i] == 'o') && |
| 4665 | (pszExpression[i+2] == 'R' || pszExpression[i] == 'r') && |
| 4666 | pszExpression[i+3] == ' ') |
| 4667 | break; |
| 4668 | else |
| 4669 | { |
| 4670 | pszReturn[iReturn++] = pszExpression[i]; |
| 4671 | } |
| 4672 | pszReturn[iReturn] = '\0'; |
| 4673 | } |
no outgoing calls
no test coverage detected