Adapt to recent MLS changes
authorMatthias Clasen <mclasen@redhat.com>
Fri, 9 Jul 2010 11:24:08 +0000 (07:24 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 9 Jul 2010 11:24:08 +0000 (07:24 -0400)
g_file_query_info returns non-NULL more often now.

gio/gfile.c
gio/tests/live-g-file.c

index b693326..9fd10ca 100644 (file)
@@ -2455,7 +2455,8 @@ open_source_for_copy (GFile           *source,
       info = g_file_query_info (destination, G_FILE_ATTRIBUTE_STANDARD_TYPE,
                                G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
                                cancellable, &my_error);
-      if (info != NULL)
+      if (info != NULL &&
+          g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_STANDARD_TYPE))
        {
          file_type = g_file_info_get_file_type (info);
          g_object_unref (info);
@@ -2482,12 +2483,12 @@ open_source_for_copy (GFile           *source,
          /* Error getting info from target, return that error 
            * (except for NOT_FOUND, which is no error here) 
            */
-         if (my_error->domain != G_IO_ERROR && my_error->code != G_IO_ERROR_NOT_FOUND)
+         if (my_error != NULL && !g_error_matches (my_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
            {
              g_propagate_error (error, my_error);
              return NULL;
            }
-         g_error_free (my_error);
+         g_clear_error (&my_error);
        }
       
       g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_WOULD_RECURSE,
index 75ff5de..32203b6 100644 (file)
@@ -702,10 +702,7 @@ do_copy_move (GFile * root, struct StructureItem item, const char *target_dir,
           (extra_flags == TEST_TARGET_IS_FILE))
     {
       g_assert_cmpint (res, ==, FALSE);
-      if (item.file_type == G_FILE_TYPE_DIRECTORY)
-       g_assert_error (error, G_IO_ERROR, G_IO_ERROR_WOULD_RECURSE);
-      else
-       g_assert_error (error, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY);
+      g_assert_error (error, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY);
     }
   /*  source file is directory  */
   else if ((item.extra_flags & TEST_COPY_ERROR_RECURSE) ==