#include "sched.h"
#include "filter.h"
#include "string.h"
+#include "error.h"
/** The size of the output data buffer. */
#define COMPRESS_CHUNK_SIZE 40960
free(fn->buf);
}
-static void *compress_parse_config(int argc, char **argv)
+/** TODO: Add sanity checks */
+static int compress_parse_config(int argc, char **argv, void **config)
{
- struct compress_filter_args_info *ret = para_calloc(sizeof(struct compress_filter_args_info));
- if (!compress_cmdline_parser(argc, argv, ret))
- return ret;
- free(ret);
- return NULL;
+ int ret;
+ struct compress_filter_args_info *compress_conf
+ = para_calloc(sizeof(*compress_conf));
+
+ ret = -E_COMPRESS_SYNTAX;
+ if (compress_cmdline_parser(argc, argv, compress_conf))
+ goto err;
+ *config = compress_conf;
+ return 1;
+err:
+ free(compress_conf);
+ return ret;
}
static void open_compress(struct filter_node *fn)
*
* \param f Pointer to the struct to initialize.
*/
-void compress_init(struct filter *f)
+void compress_filter_init(struct filter *f)
{
f->open = open_compress;
f->close = close_compress;