From dd182011e1acabc94169b85f3bc63efbab72ddd4 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jo@mein.io>
Date: Sat, 11 Jun 2016 00:51:22 +0200
Subject: [PATCH] swconfig: improve failure reporting

Report the translated error to the user if a get/set netlink operation failed.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
---
 package/network/config/swconfig/Makefile  |  2 +-
 package/network/config/swconfig/src/cli.c | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/package/network/config/swconfig/Makefile b/package/network/config/swconfig/Makefile
index 2856742fcd..f4ba3a9d69 100644
--- a/package/network/config/swconfig/Makefile
+++ b/package/network/config/swconfig/Makefile
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=swconfig
-PKG_RELEASE:=10
+PKG_RELEASE:=11
 
 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 PKG_LICENSE:=GPL-2.0
diff --git a/package/network/config/swconfig/src/cli.c b/package/network/config/swconfig/src/cli.c
index 331f3d5dac..eab6c64742 100644
--- a/package/network/config/swconfig/src/cli.c
+++ b/package/network/config/swconfig/src/cli.c
@@ -335,10 +335,10 @@ int main(int argc, char **argv)
 		if(cvlan > -1)
 			cport = cvlan;
 
-		if(swlib_set_attr_string(dev, a, cport, cvalue) < 0)
+		retval = swlib_set_attr_string(dev, a, cport, cvalue);
+		if (retval < 0)
 		{
-			fprintf(stderr, "failed\n");
-			retval = -1;
+			nl_perror(-retval, "Failed to set attribute");
 			goto out;
 		}
 		break;
@@ -347,10 +347,10 @@ int main(int argc, char **argv)
 			val.port_vlan = cvlan;
 		if(cport > -1)
 			val.port_vlan = cport;
-		if(swlib_get_attr(dev, a, &val) < 0)
+		retval = swlib_get_attr(dev, a, &val);
+		if (retval < 0)
 		{
-			fprintf(stderr, "failed\n");
-			retval = -1;
+			nl_perror(-retval, "Failed to get attribute");
 			goto out;
 		}
 		print_attr_val(a, &val);
-- 
GitLab