captive_file_file_info_get(): GNOME_VFS_SET_FILE_INFO_NAME: Fixed basename/dirname
authorshort <>
Wed, 5 Feb 2003 12:30:46 +0000 (12:30 +0000)
committershort <>
Wed, 5 Feb 2003 12:30:46 +0000 (12:30 +0000)
src/libcaptive/client/file.c

index d53a164..ae41da7 100644 (file)
@@ -493,7 +493,7 @@ GnomeVFSResult captive_file_file_info_set(CaptiveFileObject *captive_file_object
        g_return_val_if_fail(info!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
 
        if (mask & GNOME_VFS_SET_FILE_INFO_NAME) {
-gchar *name_basename,*name_dirname;
+gchar *name_dirname,*name_basename;
 UNICODE_STRING *name_UnicodeString;
 FILE_RENAME_INFORMATION *FileRenameInformation_structp;
 gsize FileRenameInformation_struct_len;
@@ -503,18 +503,18 @@ GnomeVFSResult errvfsresult;
 
                /* non-existing dirname assertion */
                name_dirname=g_path_get_dirname(info->name);
-               if (strcmp(name_basename,info->name)) {
+               if (*name_dirname) {
                        g_assert_not_reached();
                        errvfsresult=GNOME_VFS_ERROR_BAD_PARAMETERS;
-                       goto err_free_name_dirname;
+                       goto err;
                        }
 
                /* fully-matching basename assertion */
                name_basename=g_path_get_basename(info->name);
-               if (*name_basename) {
+               if (strcmp(name_basename,info->name)) {
                        g_assert_not_reached();
                        errvfsresult=GNOME_VFS_ERROR_BAD_PARAMETERS;
-                       goto err_free_name_basename;
+                       goto err_free_name_dirname;
                        }
 
                name_UnicodeString=captive_utf8_to_UnicodeString_alloca(info->name);
@@ -546,6 +546,7 @@ err_free_name_basename:
                g_free(name_basename);
 err_free_name_dirname:
                g_free(name_dirname);
+err:
 
                if (errvfsresult!=GNOME_VFS_OK)
                        return errvfsresult;