# HG changeset patch # User Laurent Monin # Date 1217267706 0 # Node ID 8f354b404976374487d3cfa85e61a67892695fb7 # Parent a448d9c7a7b91d44dce718278ee84836cf294afe Move dest_dir variable to inner block. diff -r a448d9c7a7b9 -r 8f354b404976 src/filedata.c --- a/src/filedata.c Mon Jul 28 09:44:50 2008 +0000 +++ b/src/filedata.c Mon Jul 28 17:55:06 2008 +0000 @@ -1556,7 +1556,6 @@ { gint ret = CHANGE_OK; gchar *dir; - gchar *dest_dir = NULL; if (!fd->change) { @@ -1574,8 +1573,6 @@ dir = remove_level_from_path(fd->path); - if (fd->change->dest) dest_dir = remove_level_from_path(fd->change->dest); - if (fd->change->type != FILEDATA_CHANGE_DELETE && !access_file(fd->path, R_OK)) { @@ -1598,6 +1595,7 @@ if (fd->change->dest) { + gchar *dest_dir; const gchar *dest_ext = extension_from_path(fd->change->dest); if (!dest_ext) dest_ext = ""; @@ -1614,6 +1612,8 @@ DEBUG_1("Change checked: source and destination are the same: %s -> %s", fd->path, fd->change->dest); } + dest_dir = remove_level_from_path(fd->change->dest); + if (!isdir(dest_dir)) { ret |= CHANGE_NO_DEST_DIR; @@ -1639,13 +1639,14 @@ ret |= CHANGE_DEST_EXISTS; DEBUG_1("Change checked: destination exists: %s -> %s", fd->path, fd->change->dest); } + + g_free(dest_dir); } fd->change->error = ret; if (ret == 0) DEBUG_1("Change checked: OK: %s", fd->path); g_free(dir); - g_free(dest_dir); return ret; }