1 #include <stdbool.h>
2 #include <unistd.h>
3 #include <gsf/gsf.h>
4 #include <gsf/gsf-input.h>
5 #include <gsf/gsf-infile.h>
6 #include <gsf/gsf-output.h>
7 #include <gsf/gsf-outfile.h>
8 #include <gsf/gsf-input-memory.h>
9 #include <gsf/gsf-input-stdio.h>
10 #include <gsf/gsf-output-stdio.h>
11 #include <gsf/gsf-infile-msole.h>
12 #include <gsf/gsf-outfile-msole.h>
13
14 int
main(int argc,char ** argv)15 main (int argc, char **argv)
16 {
17 GsfOutput *out, *outchild;
18 GsfOutfile *outf;
19 GsfInput *in, *inchild, *indup;
20 GsfInfile *inf;
21 gsize size;
22
23 (void)argc;
24 (void)argv;
25
26 out = gsf_output_stdio_new("teststg", NULL);
27 outf = gsf_outfile_msole_new(out);
28 outchild = gsf_outfile_new_child(outf, "small", false);
29 gsf_output_puts(outchild, "test\n");
30 gsf_output_close(outchild);
31 g_object_unref(G_OBJECT(outchild));
32 gsf_output_close(GSF_OUTPUT(outf));
33 g_object_unref(G_OBJECT(outf));
34 g_object_unref(G_OBJECT(out));
35
36 in = gsf_input_stdio_new("teststg", NULL);
37 inf = gsf_infile_msole_new(in, NULL);
38 inchild = gsf_infile_child_by_name(inf, "small");
39 indup = gsf_input_dup(inchild, NULL);
40 size = gsf_input_size(inchild);
41
42 write(1, gsf_input_read(indup, size, NULL), size);
43 g_object_unref(G_OBJECT(indup));
44 g_object_unref(G_OBJECT(inchild));
45 g_object_unref(G_OBJECT(inf));
46 g_object_unref(G_OBJECT(in));
47
48 return 0;
49 }
50