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;
/* 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);
g_free(name_basename);
err_free_name_dirname:
g_free(name_dirname);
+err:
if (errvfsresult!=GNOME_VFS_OK)
return errvfsresult;