]> git.ipfire.org Git - people/stevee/perl-ipset.git/commitdiff
Add function to get the error message of a session.
authorStefan Schantl <stefan.schantl@ipfire.org>
Thu, 25 Aug 2022 16:54:05 +0000 (18:54 +0200)
committerStefan Schantl <stefan.schantl@ipfire.org>
Thu, 25 Aug 2022 16:54:05 +0000 (18:54 +0200)
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
IPSet.xs

index 956a687c78cc675e6b903798943718ea0bdee9cd..82a9810ac68a36d3009f44cd8e1f0257fa95b5d7 100644 (file)
--- a/IPSet.xs
+++ b/IPSet.xs
@@ -254,6 +254,25 @@ setname_exists(session, setname)
                RETVAL
 
 
+SV*
+get_error_message(session)
+       struct ipset_session *session;
+
+       CODE:
+               RETVAL = &PL_sv_undef;
+
+               const char* error = ipset_session_report_msg(session);
+
+               if (error) {
+                       RETVAL = newSVpv(error, strlen(error));
+
+                       // Reset the report buffer.
+                       ipset_session_report_reset(session);
+               }
+
+       OUTPUT:
+               RETVAL
+
 void
 DESTROY(session)
        struct ipset_session *session;