make IPv4 and IPv6 LOG target save() the log-level as string, instead of the
numeric value.  (Michael Schwendt)
diff --git a/extensions/libip6t_LOG.c b/extensions/libip6t_LOG.c
index f4d87aa..843ff7e 100644
--- a/extensions/libip6t_LOG.c
+++ b/extensions/libip6t_LOG.c
@@ -225,12 +225,21 @@
 {
 	const struct ip6t_log_info *loginfo
 		= (const struct ip6t_log_info *)target->data;
+	unsigned int i = 0;
 
 	if (strcmp(loginfo->prefix, "") != 0)
 		printf("--log-prefix \"%s\" ", loginfo->prefix);
 
-	if (loginfo->level != LOG_DEFAULT_LEVEL)
-		printf("--log-level %u ", loginfo->level);
+	if (loginfo->level != LOG_DEFAULT_LEVEL) {
+		for (i = 0;
+		     i < sizeof(ip6t_log_names) / sizeof(struct ip6t_log_names);
+		     i++) {
+			if (loginfo->level == ip6t_log_names[i].level) {
+				printf("--log-level %s ", ip6t_log_names[i].name);
+				break;
+			}
+        }
+    }
 
 	if (loginfo->logflags & IP6T_LOG_TCPSEQ)
 		printf("--log-tcp-sequence ");
diff --git a/extensions/libipt_LOG.c b/extensions/libipt_LOG.c
index 66028a6..290ccf0 100644
--- a/extensions/libipt_LOG.c
+++ b/extensions/libipt_LOG.c
@@ -225,12 +225,21 @@
 {
 	const struct ipt_log_info *loginfo
 		= (const struct ipt_log_info *)target->data;
+	unsigned int i = 0;
 
 	if (strcmp(loginfo->prefix, "") != 0)
 		printf("--log-prefix \"%s\" ", loginfo->prefix);
 
-	if (loginfo->level != LOG_DEFAULT_LEVEL)
-		printf("--log-level %u ", loginfo->level);
+	if (loginfo->level != LOG_DEFAULT_LEVEL) {
+		for (i = 0;
+		     i < sizeof(ipt_log_names) / sizeof(struct ipt_log_names);
+		     i++) {
+			if (loginfo->level == ipt_log_names[i].level) {
+				printf("--log-level %s ", ipt_log_names[i].name);
+				break;
+			}
+        }
+    }
 
 	if (loginfo->logflags & IPT_LOG_TCPSEQ)
 		printf("--log-tcp-sequence ");