| 803 | */ |
| 804 | |
| 805 | static char *substring_conf(apr_pool_t *p, const char *start, int len, |
| 806 | char quote) |
| 807 | { |
| 808 | char *result = apr_palloc(p, len + 1); |
| 809 | char *resp = result; |
| 810 | int i; |
| 811 | |
| 812 | for (i = 0; i < len; ++i) { |
| 813 | if (start[i] == '\\' && (start[i + 1] == '\\' |
| 814 | || (quote && start[i + 1] == quote))) |
| 815 | *resp++ = start[++i]; |
| 816 | else |
| 817 | *resp++ = start[i]; |
| 818 | } |
| 819 | |
| 820 | *resp++ = '\0'; |
| 821 | #if RESOLVE_ENV_PER_TOKEN |
| 822 | return (char *)ap_resolve_env(p,result); |
| 823 | #else |
| 824 | return result; |
| 825 | #endif |
| 826 | } |
| 827 | |
| 828 | AP_DECLARE(char *) ap_getword_conf_nc(apr_pool_t *p, char **line) |
| 829 | { |
no test coverage detected