OUTPUT:
RETVAL
+bool
+rename_set(session, setname, new_setname)
+ struct ipset_session *session;
+ const char *setname;
+ const char *new_setname;
+
+ PREINIT:
+ enum ipset_cmd cmd = IPSET_CMD_RENAME;
+
+ CODE:
+ // Assign the setname to the session data.
+ int r = ipset_session_data_set(session, IPSET_SETNAME, setname);
+ if (r < 0) {
+ printf("Could not set setname: %s\n",
+ ipset_session_report_msg(session));
+ }
+
+ r = ipset_session_data_set(session, IPSET_OPT_SETNAME2, new_setname);
+ if (r < 0) {
+ printf("Could not assign new setname: %s\n",
+ ipset_session_report_msg(session));
+ }
+
+ r = ipset_cmd(session, cmd, 0);
+ if (r < 0) {
+ printf("Command failed: %s\n",
+ ipset_session_report_msg(session));
+
+ RETVAL = false;
+ }
+
+ RETVAL = true;
+
+ OUTPUT:
+ RETVAL
+
+
bool
setname_exists(session, setname)
struct ipset_session *session;
use strict;
use warnings;
-use Test::More tests => 4;
+use Test::More tests => 6;
BEGIN { use_ok('IPSet') };
#########################
# Name of the testset.
my $setname = "TEST";
+my $setname_renamed = "TEST_RENAMED";
# Init the IPSet module and create a session.
my $session = &IPSet::init();
my $exists = &IPSet::setname_exists($session, $setname);
ok($exists, "The testset exists.");
-# Delete the testset.
-my $delete = &IPSet::delete_set($session, $setname);
+# Rename the testset.
+my $renamed = &IPSet::rename_set($session, $setname, $setname_renamed);
+ok($renamed, "Rename successfull.");
+
+# Check if the renamed set exists.
+$exists = &IPSet::setname_exists($session, $setname_renamed);
+ok($exists, "Renamed testset exists.");
+
+# Delete the renamed testset.
+my $delete = &IPSet::delete_set($session, $setname_renamed);
ok($delete, "Successfully deleted set.");