From 69608d2521b3c65557701e62b0ed791f0952c7b0 Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Thu, 1 Sep 2022 19:56:43 +0200 Subject: [PATCH] Add function to get the raw set data. The data will be returned as a single string and processed by the get_set_data() function, which is part of the IPSet.pm file. (Because string manipulation and extraction is much easier in perl than in C.) Signed-off-by: Stefan Schantl --- IPSet.xs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/IPSet.xs b/IPSet.xs index 2d8c862..ceb6a89 100644 --- a/IPSet.xs +++ b/IPSet.xs @@ -361,6 +361,26 @@ get_sets(session) free(sets); } +SV* +get_set_data_raw(session, setname) + struct ipset_session *session; + char* setname; + + PREINIT: + enum ipset_envopt envopt; + char* data = NULL; + + CODE: + RETVAL = &PL_sv_undef; + + data = call_list_cmd(session, envopt, setname); + + if(data) { + RETVAL = newSVpv(data, strlen(data)); + } + OUTPUT: + RETVAL + SV* get_error_message(session) struct ipset_session *session; -- 2.47.2