| 1077 | } |
| 1078 | |
| 1079 | static apr_status_t pfs_rename(void *baton, apr_pool_t *p, apr_pool_t *ptemp, va_list ap) |
| 1080 | { |
| 1081 | md_store_fs_t *s_fs = baton; |
| 1082 | const char *group_name, *from_dir, *to_dir; |
| 1083 | md_store_group_t group; |
| 1084 | const char *from, *to; |
| 1085 | apr_status_t rv; |
| 1086 | |
| 1087 | (void)p; |
| 1088 | group = (md_store_group_t)va_arg(ap, int); |
| 1089 | from = va_arg(ap, const char*); |
| 1090 | to = va_arg(ap, const char*); |
| 1091 | |
| 1092 | group_name = md_store_group_name(group); |
| 1093 | if ( !MD_OK(md_util_path_merge(&from_dir, ptemp, s_fs->base, group_name, from, NULL)) |
| 1094 | || !MD_OK(md_util_path_merge(&to_dir, ptemp, s_fs->base, group_name, to, NULL))) { |
| 1095 | goto out; |
| 1096 | } |
| 1097 | |
| 1098 | if (APR_SUCCESS != (rv = apr_file_rename(from_dir, to_dir, ptemp)) |
| 1099 | && !APR_STATUS_IS_ENOENT(rv)) { |
| 1100 | md_log_perror(MD_LOG_MARK, MD_LOG_ERR, rv, ptemp, "rename from %s to %s", |
| 1101 | from_dir, to_dir); |
| 1102 | goto out; |
| 1103 | } |
| 1104 | out: |
| 1105 | return rv; |
| 1106 | } |
| 1107 | |
| 1108 | static apr_status_t fs_rename(md_store_t *store, apr_pool_t *p, |
| 1109 | md_store_group_t group, const char *from, const char *to) |
nothing calls this directly
no test coverage detected