| 1592 | {NULL, 0, 0, NULL, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; |
| 1593 | |
| 1594 | AP_DECLARE(char *) ap_server_root_relative(apr_pool_t *p, const char *file) |
| 1595 | { |
| 1596 | char *newpath = NULL; |
| 1597 | apr_status_t rv; |
| 1598 | rv = apr_filepath_merge(&newpath, ap_server_root, file, |
| 1599 | APR_FILEPATH_TRUENAME, p); |
| 1600 | if (newpath && (rv == APR_SUCCESS || APR_STATUS_IS_EPATHWILD(rv) |
| 1601 | || APR_STATUS_IS_ENOENT(rv) |
| 1602 | || APR_STATUS_IS_ENOTDIR(rv))) { |
| 1603 | return newpath; |
| 1604 | } |
| 1605 | else { |
| 1606 | return NULL; |
| 1607 | } |
| 1608 | } |
| 1609 | |
| 1610 | AP_DECLARE(char *) ap_runtime_dir_relative(apr_pool_t *p, const char *file) |
| 1611 | { |
no outgoing calls