2 #include <cairo-script-interpreter.h>
8 write_func (void *closure,
9 const unsigned char *data,
12 if (fwrite (data, length, 1, closure) != 1)
13 return CAIRO_STATUS_WRITE_ERROR;
15 return CAIRO_STATUS_SUCCESS;
19 main (int argc, char **argv)
21 FILE *in = stdin, *out = stdout;
22 cairo_status_t status;
26 if (strcmp (argv[argc-1], "-")) {
27 out = fopen (argv[argc-1], "w");
29 fprintf (stderr, "Failed to open output '%s'\n", argv[argc-1]);
36 for (i = 1; i < argc - 1; i++) {
37 in = fopen (argv[i], "r");
39 fprintf (stderr, "Failed to open input '%s'\n", argv[i]);
43 status = cairo_script_interpreter_translate_stream (in, write_func, out);
51 if (strcmp (argv[1], "-")) {
52 in = fopen (argv[1], "r");
54 fprintf (stderr, "Failed to open input '%s'\n", argv[1]);
60 status = cairo_script_interpreter_translate_stream (in, write_func, out);
70 fprintf (stderr, "Translation failed: %s\n",
71 cairo_status_to_string (status));