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) :