-enum
-{
- output_file_arg,
- boolean_arg,
-};
-
-static const struct outp_option option_tab[] =
-{
- {"output-file", output_file_arg,0},
-
- {"debug", boolean_arg, 1},
-
- {NULL, 0, 0},
-};
-
-static bool
-handle_option (void *options_, const char *key, const struct string *val)
-{
- struct odf_driver_options *options = options_;
- struct outp_driver *this = options->driver;
- int subcat;
- char *value = ds_cstr (val);
-
- switch (outp_match_keyword (key, option_tab, &subcat))
- {
- case -1:
- error (0, 0,
- _("unknown configuration parameter `%s' for %s device "
- "driver"), key, this->class->name);
- break;
- case output_file_arg:
- free (options->file_name);
- options->file_name = xstrdup (value);
- break;
- case boolean_arg:
- if (!strcmp (value, "on") || !strcmp (value, "true")
- || !strcmp (value, "yes") || atoi (value))
- options->debug = true;
- else if (!strcmp (value, "off") || !strcmp (value, "false")
- || !strcmp (value, "no") || !strcmp (value, "0"))
- options->debug = false;
- else
- {
- error (0, 0, _("boolean value expected for %s"), key);
- return false;
- }
- break;
-
- default:
- NOT_REACHED ();
- }
-
- return true;
-}
-
-
-static bool
-odt_open_driver (const char *name, int types, struct substring option_string)