| 414 | } |
| 415 | |
| 416 | apr_status_t md_util_path_merge(const char **ppath, apr_pool_t *p, ...) |
| 417 | { |
| 418 | const char *segment, *path; |
| 419 | va_list ap; |
| 420 | apr_status_t rv = APR_SUCCESS; |
| 421 | |
| 422 | va_start(ap, p); |
| 423 | path = va_arg(ap, char *); |
| 424 | while (path && APR_SUCCESS == rv && (segment = va_arg(ap, char *))) { |
| 425 | rv = apr_filepath_merge((char **)&path, path, segment, APR_FILEPATH_SECUREROOT , p); |
| 426 | } |
| 427 | va_end(ap); |
| 428 | |
| 429 | *ppath = (APR_SUCCESS == rv)? (path? path : "") : NULL; |
| 430 | return rv; |
| 431 | } |
| 432 | |
| 433 | apr_status_t md_util_freplace(const char *fpath, apr_fileperms_t perms, apr_pool_t *p, |
| 434 | md_util_file_cb *write_cb, void *baton) |
no outgoing calls
no test coverage detected