You want something like this...
diff --git a/tests/test-cp-zip.c b/tests/test-cp-zip.c index 5523f33..2169f78 100644 --- a/tests/test-cp-zip.c +++ b/tests/test-cp-zip.c @@ -26,16 +26,16 @@ #include <gsf/gsf-infile-zip.h> #include <gsf/gsf-output-stdio.h> +#include <gsf/gsf-outfile-stdio.h> #include <gsf/gsf-outfile.h> #include <gsf/gsf-outfile-zip.h> #include <stdio.h> static void -clone (GsfInfile *in, GsfOutfile *out) +clone (GsfInfile *in, GsfOutput *output) { GsfInput *input = GSF_INPUT (in); - GsfOutput *output = GSF_OUTPUT (out); if (gsf_input_size (input) > 0) { size_t len; @@ -54,6 +54,7 @@ clone (GsfInfile *in, GsfOutfile *out) } } } else { + GsfOutfile *out = GSF_OUTFILE (output); int i, n = gsf_infile_num_children (in); for (i = 0 ; i < n; i++) { int level; @@ -83,14 +84,14 @@ clone (GsfInfile *in, GsfOutfile *out) g_free (display_name); output = gsf_outfile_new_child_full (out, name, is_dir, - "compression-level", level, NULL); - clone (GSF_INFILE (input), GSF_OUTFILE (output)); + clone (GSF_INFILE (input), output); + + g_object_unref (input); + gsf_output_close (output); + g_object_unref (output); } } - gsf_output_close (GSF_OUTPUT (out)); - g_object_unref (G_OBJECT (out)); - g_object_unref (G_OBJECT (in)); } static int @@ -98,7 +99,6 @@ test (char *argv[]) { GsfInput *input; GsfInfile *infile; - GsfOutput *output; GsfOutfile *outfile; GError *err = NULL; @@ -124,20 +124,11 @@ test (char *argv[]) return 1; } - output = gsf_output_stdio_new (argv[2], &err); - if (output == NULL) { - - g_return_val_if_fail (err != NULL, 1); - - g_warning ("'%s' error: %s", argv[2], err->message); - g_error_free (err); - g_object_unref (G_OBJECT (infile)); - return 1; - } + outfile = gsf_outfile_stdio_new (argv[2], &err); + clone (infile, GSF_OUTPUT (outfile)); - outfile = gsf_outfile_zip_new (output, &err); - g_object_unref (G_OBJECT (output)); - clone (infile, outfile); + g_object_unref (outfile); + g_object_unref (infile); return 0; } _______________________________________________ gnumeric-list mailing list gnumeric-list@gnome.org http://mail.gnome.org/mailman/listinfo/gnumeric-list