[PATCH v2 21/23] libusbg: Return error code instead of -1.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Change usbg_add_config_function() to return usbg_error
instead of returning 0 or -1.

Signed-off-by: Krzysztof Opasiak <k.opasiak@xxxxxxxxxxx>
---
 include/usbg/usbg.h |    2 +-
 src/usbg.c          |   14 ++++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/include/usbg/usbg.h b/include/usbg/usbg.h
index ae53d22..249b40f 100644
--- a/include/usbg/usbg.h
+++ b/include/usbg/usbg.h
@@ -557,7 +557,7 @@ extern int usbg_set_config_string(usbg_config *c, int lang, char *string);
  * @param c Pointer to config
  * @param name Name of configuration function binding
  * @param f Pointer to function
- * @return 0 on success, -1 on failure.
+ * @return 0 on success, usbg_error on failure.
  */
 extern int usbg_add_config_function(usbg_config *c, char *name, usbg_function *f);
 
diff --git a/src/usbg.c b/src/usbg.c
index 3589dd0..944dd10 100644
--- a/src/usbg.c
+++ b/src/usbg.c
@@ -1418,21 +1418,21 @@ int usbg_add_config_function(usbg_config *c, char *name, usbg_function *f)
 	char bpath[USBG_MAX_PATH_LENGTH];
 	char fpath[USBG_MAX_PATH_LENGTH];
 	usbg_binding *b;
-	int ret = -1;
+	int ret = USBG_SUCCESS;
 
 	if (!c || !f)
-		return ret;
+		return USBG_ERROR_INVALID_PARAM;
 
 	b = usbg_get_binding(c, name);
 	if (b) {
 		ERROR("duplicate binding name\n");
-		return ret;
+		return USBG_ERROR_EXIST;
 	}
 
 	b = usbg_get_link_binding(c, f);
 	if (b) {
 		ERROR("duplicate binding link\n");
-		return ret;
+		return USBG_ERROR_EXIST;
 	}
 
 	sprintf(bpath, "%s/%s/%s", c->path, c->name, name);
@@ -1441,13 +1441,15 @@ int usbg_add_config_function(usbg_config *c, char *name, usbg_function *f)
 	b = malloc(sizeof(usbg_binding));
 	if (!b) {
 		ERRORNO("allocating binding\n");
-		return -1;
+		return USBG_ERROR_NO_MEM;
 	}
 
 	ret = symlink(fpath, bpath);
 	if (ret < 0) {
 		ERRORNO("%s -> %s\n", bpath, fpath);
 		return ret;
+	} else {
+		ret = USBG_SUCCESS;
 	}
 
 	strcpy(b->name, name);
@@ -1457,7 +1459,7 @@ int usbg_add_config_function(usbg_config *c, char *name, usbg_function *f)
 
 	INSERT_TAILQ_STRING_ORDER(&c->bindings, bhead, name, b, bnode);
 
-	return 0;
+	return ret;
 }
 
 usbg_function *usbg_get_binding_target(usbg_binding *b)
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux