diff options
-rw-r--r-- | metadata/metabuilder.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/metadata/metabuilder.c b/metadata/metabuilder.c index af9e99da..7c419b83 100644 --- a/metadata/metabuilder.c +++ b/metadata/metabuilder.c @@ -298,7 +298,7 @@ meta_builder_copy (MetaBuilder *builder, const char *dest_path, guint64 mtime) { - MetaFile *src, *dest; + MetaFile *src, *dest, *temp; meta_builder_remove (builder, dest_path, mtime); @@ -306,9 +306,15 @@ meta_builder_copy (MetaBuilder *builder, if (src == NULL) return; + temp = metafile_new (NULL, NULL); + meta_file_copy_into (src, temp, mtime); + dest = meta_builder_lookup (builder, dest_path, TRUE); + dest->data = temp->data; + dest->children = temp->children; + dest->last_changed = temp->last_changed; - meta_file_copy_into (src, dest, mtime); + g_free (temp); } void |