Mercurial > dovecot > core-2.2
changeset 22940:c7d47a5c5550
lib-fs: fs-posix - FS_METADATA_WRITE_FNAME replaces the full path
This is how all the other fs drivers work, although the macro name is a bit
confusing.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Thu, 26 Apr 2018 18:14:27 +0300 |
parents | 828152a256d6 |
children | 731b91108e05 |
files | src/lib-fs/fs-posix.c |
diffstat | 1 files changed, 2 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-fs/fs-posix.c Thu Apr 26 18:14:46 2018 +0300 +++ b/src/lib-fs/fs-posix.c Thu Apr 26 18:14:27 2018 +0300 @@ -449,19 +449,14 @@ static void fs_posix_write_rename_if_needed(struct posix_fs_file *file) { struct posix_fs *fs = (struct posix_fs *)file->file.fs; - const char *new_fname, *new_prefix, *p; + const char *new_fname; new_fname = fs_metadata_find(&file->file.metadata, FS_METADATA_WRITE_FNAME); if (new_fname == NULL) return; - p = strrchr(file->file.path, '/'); - if (p == NULL) - new_prefix = ""; - else - new_prefix = t_strdup_until(file->file.path, p+1); i_free(file->file.path); - file->file.path = i_strconcat(new_prefix, new_fname, NULL); + file->file.path = i_strdup(new_fname); i_free(file->full_path); file->full_path = fs->path_prefix == NULL ? i_strdup(file->file.path) :