X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fspv-driver.c;h=1eb57f7f16001a6befb951e8817c9010a6b21d94;hb=9165b88a0a735f26977d9d556294d8e50efb9bfe;hp=36db324ee79db9e1e4c6baa6a0cdf981179094ea;hpb=507ebaea36737618ef8265a60cd3e9005d9f3457;p=pspp diff --git a/src/output/spv-driver.c b/src/output/spv-driver.c index 36db324ee7..1eb57f7f16 100644 --- a/src/output/spv-driver.c +++ b/src/output/spv-driver.c @@ -49,7 +49,7 @@ spv_driver_cast (struct output_driver *driver) static struct output_driver * spv_create (struct file_handle *fh, enum settings_output_devices device_type, - struct string_map *o UNUSED) + struct string_map *o UNUSED) { struct output_driver *d; struct spv_driver *spv; @@ -69,7 +69,7 @@ spv_create (struct file_handle *fh, enum settings_output_devices device_type, return d; - error: +error: output_driver_destroy (d); return NULL; } @@ -88,13 +88,22 @@ spv_destroy (struct output_driver *driver) static void spv_submit (struct output_driver *driver, - const struct output_item *output_item) + const struct output_item *output_item) { struct spv_driver *spv = spv_driver_cast (driver); spv_writer_write (spv->writer, output_item); } +static void +spv_setup (struct output_driver *driver, + const struct page_setup *ps) +{ + struct spv_driver *spv = spv_driver_cast (driver); + + spv_writer_set_page_setup (spv->writer, ps); +} + struct output_driver_factory spv_driver_factory = { "spv", "pspp.spv", spv_create }; @@ -103,6 +112,7 @@ static const struct output_driver_class spv_driver_class = .name = "spv", .destroy = spv_destroy, .submit = spv_submit, + .setup = spv_setup, .handles_show = true, .handles_groups = true, };