* value.c (set_internalvar): Use value_free, not xfree.
[binutils-gdb.git] / gdb / xml-tdesc.c
index e56cb6abd7cc7d3d3dad58b8deb1a8e8c0dda7be..1d4e12cacc59cd7ae5817db1da4b69992ac18eef 100644 (file)
@@ -1,7 +1,6 @@
 /* XML target description support for GDB.
 
-   Copyright (C) 2006
-   Free Software Foundation, Inc.
+   Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc.
 
    Contributed by CodeSourcery.
 
@@ -223,7 +222,7 @@ tdesc_end_union (struct gdb_xml_parser *parser,
   for (i = 0; i < TYPE_NFIELDS (data->current_union); i++)
     if (TYPE_VECTOR (TYPE_FIELD_TYPE (data->current_union, i)))
       {
-        TYPE_FLAGS (data->current_union) |= TYPE_FLAG_VECTOR;
+        TYPE_VECTOR (data->current_union) = 1;
         break;
       }
 }
@@ -422,14 +421,6 @@ tdesc_parse_xml (const char *document, xml_fetch_another fetcher,
 #endif /* HAVE_LIBEXPAT */
 \f
 
-/* Close FILE.  */
-
-static void
-do_cleanup_fclose (void *file)
-{
-  fclose (file);
-}
-
 /* Open FILENAME, read all its text into memory, close it, and return
    the text.  If something goes wrong, return NULL and warn.  */
 
@@ -444,7 +435,7 @@ fetch_xml_from_file (const char *filename, void *baton)
 
   if (dirname && *dirname)
     {
-      char *fullname = concat (dirname, "/", filename, NULL);
+      char *fullname = concat (dirname, "/", filename, (char *) NULL);
       if (fullname == NULL)
        nomem (0);
       file = fopen (fullname, FOPEN_RT);
@@ -456,7 +447,7 @@ fetch_xml_from_file (const char *filename, void *baton)
   if (file == NULL)
     return NULL;
 
-  back_to = make_cleanup (do_cleanup_fclose, file);
+  back_to = make_cleanup_fclose (file);
 
   /* Read in the whole file, one chunk at a time.  */
   len = 4096;