[spp] [PATCH 02/17] shared/sec: refactor parse error code

ogawa.yasufumi at lab.ntt.co.jp ogawa.yasufumi at lab.ntt.co.jp
Wed May 8 04:01:20 CEST 2019


From: Yasufumi Ogawa <ogawa.yasufumi at lab.ntt.co.jp>

Revise the name of enum `spp_comamnd_decode_error_code` to
`sppwk_parse_error_code`, and its members started from `SPP_CMD_DERR_`
to `SPPWK_PARSE_` to be more reasonable. The prefix of the members does
not need to include the word `ERR` because following word, such as
`INVALID_VALUE`, can be understood as error.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi at lab.ntt.co.jp>
---
 .../secondary/spp_worker_th/command_dec.c     |  6 ++---
 .../secondary/spp_worker_th/command_dec.h     | 18 ++++++++-------
 .../secondary/spp_worker_th/command_proc.c    | 23 ++++++++++---------
 3 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/src/shared/secondary/spp_worker_th/command_dec.c b/src/shared/secondary/spp_worker_th/command_dec.c
index 236cabf..db69dfe 100644
--- a/src/shared/secondary/spp_worker_th/command_dec.c
+++ b/src/shared/secondary/spp_worker_th/command_dec.c
@@ -220,7 +220,7 @@ set_string_value_decode_error(struct sppwk_parse_err_msg *error,
 		const char *value, const char *error_name)
 {
 	strcpy(error->value, value);
-	return set_parse_error(error, SPP_CMD_DERR_BAD_VALUE, error_name);
+	return set_parse_error(error, SPPWK_PARSE_INVALID_VALUE, error_name);
 }
 
 /* Split command line parameter with spaces */
@@ -1046,7 +1046,7 @@ decode_command_in_list(struct spp_command_request *request,
 	if (ret < SPP_RET_OK) {
 		RTE_LOG(ERR, SPP_COMMAND_PROC, "Parameter number over limit."
 				"request_str=%s\n", request_str);
-		return set_parse_error(error, SPP_CMD_DERR_BAD_FORMAT, NULL);
+		return set_parse_error(error, SPPWK_PARSE_WRONG_FORMAT, NULL);
 	}
 	RTE_LOG(DEBUG, SPP_COMMAND_PROC, "Decode array. num=%d\n", argc);
 
@@ -1072,7 +1072,7 @@ decode_command_in_list(struct spp_command_request *request,
 	if (command_name_check != 0) {
 		RTE_LOG(ERR, SPP_COMMAND_PROC, "Parameter number out of range."
 				"request_str=%s\n", request_str);
-		return set_parse_error(error, SPP_CMD_DERR_BAD_FORMAT, NULL);
+		return set_parse_error(error, SPPWK_PARSE_WRONG_FORMAT, NULL);
 	}
 
 	RTE_LOG(ERR, SPP_COMMAND_PROC,
diff --git a/src/shared/secondary/spp_worker_th/command_dec.h b/src/shared/secondary/spp_worker_th/command_dec.h
index da94cf3..7da562a 100644
--- a/src/shared/secondary/spp_worker_th/command_dec.h
+++ b/src/shared/secondary/spp_worker_th/command_dec.h
@@ -29,14 +29,16 @@
 /** string that specify unused */
 #define SPP_CMD_UNUSE "unuse"
 
-/** decode error code */
-enum spp_command_decode_error_code {
-	/* not use 0, in general 0 is OK */
-	SPP_CMD_DERR_BAD_FORMAT = 1,  /**< Wrong format */
-	SPP_CMD_DERR_UNKNOWN_COMMAND, /**< Unknown command */
-	SPP_CMD_DERR_NO_PARAM,        /**< No parameters */
-	SPP_CMD_DERR_BAD_TYPE,        /**< Wrong data type */
-	SPP_CMD_DERR_BAD_VALUE,       /**< Wrong value */
+/**
+ * Error code for diagnosis and notifying the reason. It starts from 1 because
+ * 0 is used for succeeded and not appropriate for error in general.
+ */
+enum sppwk_parse_error_code {
+	SPPWK_PARSE_WRONG_FORMAT = 1,  /**< Wrong format */
+	SPPWK_PARSE_UNKNOWN_CMD,  /**< Unknown command */
+	SPPWK_PARSE_NO_PARAM,  /**< No parameters */
+	SPPWK_PARSE_INVALID_TYPE,  /**< Invalid data type */
+	SPPWK_PARSE_INVALID_VALUE,  /**< Invalid value */
 };
 
 /**
diff --git a/src/shared/secondary/spp_worker_th/command_proc.c b/src/shared/secondary/spp_worker_th/command_proc.c
index 40b3121..2911266 100644
--- a/src/shared/secondary/spp_worker_th/command_proc.c
+++ b/src/shared/secondary/spp_worker_th/command_proc.c
@@ -809,30 +809,31 @@ make_decode_error_message(
 		char *message)
 {
 	switch (err_msg->code) {
-	case SPP_CMD_DERR_BAD_FORMAT:
-		sprintf(message, "bad message format");
+	case SPPWK_PARSE_WRONG_FORMAT:
+		sprintf(message, "Wrong message format");
 		break;
 
-	case SPP_CMD_DERR_UNKNOWN_COMMAND:
-		sprintf(message, "unknown command(%s)", err_msg->value);
+	case SPPWK_PARSE_UNKNOWN_CMD:
+		/* TODO(yasufum) Fix compile err if space exists before "(" */
+		sprintf(message, "Unknown command(%s)", err_msg->value);
 		break;
 
-	case SPP_CMD_DERR_NO_PARAM:
-		sprintf(message, "not enough parameter(%s)",
+	case SPPWK_PARSE_NO_PARAM:
+		sprintf(message, "No or insufficient number of params (%s)",
 				err_msg->value_name);
 		break;
 
-	case SPP_CMD_DERR_BAD_TYPE:
-		sprintf(message, "bad value type(%s)",
+	case SPPWK_PARSE_INVALID_TYPE:
+		sprintf(message, "Invalid value type (%s)",
 				err_msg->value_name);
 		break;
 
-	case SPP_CMD_DERR_BAD_VALUE:
-		sprintf(message, "bad value(%s)", err_msg->value_name);
+	case SPPWK_PARSE_INVALID_VALUE:
+		sprintf(message, "Invalid value (%s)", err_msg->value_name);
 		break;
 
 	default:
-		sprintf(message, "error occur");
+		sprintf(message, "Failed to parse with unexpected reason");
 		break;
 	}
 
-- 
2.17.1



More information about the spp mailing list