/*
* This file is part of the libsigrok project.
*
- * Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
+ * Copyright (C) 2014 Bert Vermeulen <bert@biot.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
extern SR_PRIV struct sr_output_module output_chronovu_la8;
extern SR_PRIV struct sr_output_module output_csv;
extern SR_PRIV struct sr_output_module output_analog;
+extern SR_PRIV struct sr_output_module output_srzip;
extern SR_PRIV struct sr_output_module output_wav;
/* @endcond */
&output_vcd,
&output_chronovu_la8,
&output_analog,
+ &output_srzip,
&output_wav,
NULL,
};
return o->desc;
}
+/**
+ * Returns the specified output module's file extensions typical for the file
+ * format, as a NULL terminated array, or returns a NULL pointer if there is
+ * no preferred extension.
+ * @note these are a suggestions only.
+ *
+ * @since 0.4.0
+ */
+SR_API const char *const *sr_output_extensions_get(
+ const struct sr_output_module *o)
+{
+ if (!o) {
+ sr_err("Invalid output module NULL!");
+ return NULL;
+ }
+
+ return o->exts;
+}
+
/**
* Return the output module with the specified ID, or NULL if no module
* with that id is found.
mod_opts = o->options();
- for (size = 1; mod_opts[size].id; size++)
+ for (size = 0; mod_opts[size].id; size++)
;
- opts = g_malloc(size * sizeof(struct sr_option *));
+ opts = g_malloc((size + 1) * sizeof(struct sr_option *));
for (i = 0; i < size; i++)
opts[i] = &mod_opts[i];
}
if (op->module->init && op->module->init(op, new_opts) != SR_OK) {
- g_hash_table_destroy(new_opts);
g_free(op);
op = NULL;
}