| 1608 | } |
| 1609 | |
| 1610 | AP_DECLARE(char *) ap_runtime_dir_relative(apr_pool_t *p, const char *file) |
| 1611 | { |
| 1612 | char *newpath = NULL; |
| 1613 | apr_status_t rv; |
| 1614 | const char *runtime_dir = ap_runtime_dir ? ap_runtime_dir : ap_server_root_relative(p, DEFAULT_REL_RUNTIMEDIR); |
| 1615 | |
| 1616 | rv = apr_filepath_merge(&newpath, runtime_dir, file, |
| 1617 | APR_FILEPATH_TRUENAME, p); |
| 1618 | if (newpath && (rv == APR_SUCCESS || APR_STATUS_IS_EPATHWILD(rv) |
| 1619 | || APR_STATUS_IS_ENOENT(rv) |
| 1620 | || APR_STATUS_IS_ENOTDIR(rv))) { |
| 1621 | return newpath; |
| 1622 | } |
| 1623 | else { |
| 1624 | return NULL; |
| 1625 | } |
| 1626 | } |
| 1627 | |
| 1628 | |
| 1629 | AP_DECLARE(const char *) ap_soak_end_container(cmd_parms *cmd, char *directive) |
no test coverage detected