Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
#include <libipset/session.h>
#include <libipset/types.h>
+static int print_outfm_to_string(struct ipset_session *session,
+ void *p,
+ const char *fmt, ...)
+{
+ char** output = (char**)p;
+ va_list args;
+ int r;
+
+ char* buffer = NULL;
+
+ va_start(args, fmt);
+ r = vasprintf(&buffer, fmt, args);
+ va_end(args);
+
+ if (r < 0)
+ goto ERROR;
+
+ // Append
+ r = asprintf(output, "%s%s", (output && *output) ? *output : "", buffer);
+ if (r < 0)
+ goto ERROR;
+
+ // Success
+ r = 0;
+
+ERROR:
+ if (buffer)
+ free(buffer);
+
+ return r;
+}
+
MODULE = IPSet PACKAGE = IPSet
struct ipset_session *