Browse Source

Some changes for previous patch to make functions more clean and simple

Serj Kalichev 3 years ago
parent
commit
9985faab0d
3 changed files with 21 additions and 21 deletions
  1. 7 7
      clish/shell/shell_xml.c
  2. 2 1
      clish/view.h
  3. 12 13
      clish/view/view.c

+ 7 - 7
clish/shell/shell_xml.c

@@ -320,14 +320,14 @@ static int process_clish_module(clish_shell_t *shell, clish_xmlnode_t *element,
 static int process_view(clish_shell_t *shell, clish_xmlnode_t *element,
 	void *parent)
 {
-	clish_view_t *view;
-	clish_view_restore_e restore;
+	clish_view_t *view = NULL;
+	clish_view_restore_e restore_e = CLISH_RESTORE_NONE;
 	int res = -1;
 
 	char *name = clish_xmlnode_fetch_attr(element, "name");
 	char *prompt = clish_xmlnode_fetch_attr(element, "prompt");
 	char *depth = clish_xmlnode_fetch_attr(element, "depth");
-	char *restore_name = clish_xmlnode_fetch_attr(element, "restore");
+	char *restore = clish_xmlnode_fetch_attr(element, "restore");
 	char *access = clish_xmlnode_fetch_attr(element, "access");
 
 	/* Check syntax */
@@ -348,9 +348,9 @@ static int process_view(clish_shell_t *shell, clish_xmlnode_t *element,
 		clish_view__set_depth(view, res);
 	}
 
-	if (restore_name) {
-		restore = clish_view_restore_resolve(restore_name);
-		clish_view__set_restore(view, restore);
+	if (restore) {
+		restore_e = clish_view_restore_resolve(restore);
+		clish_view__set_restore(view, restore_e);
 	}
 
 	if (access)
@@ -362,7 +362,7 @@ error:
 	clish_xml_release(name);
 	clish_xml_release(prompt);
 	clish_xml_release(depth);
-	clish_xml_release(restore_name);
+	clish_xml_release(restore);
 	clish_xml_release(access);
 
 	parent = parent; /* Happy compiler */

+ 2 - 1
clish/view.h

@@ -21,7 +21,8 @@ typedef struct clish_view_s clish_view_t;
 typedef enum {
 	CLISH_RESTORE_NONE,
 	CLISH_RESTORE_DEPTH,
-	CLISH_RESTORE_VIEW
+	CLISH_RESTORE_VIEW,
+	CLISH_RESTORE_MAX
 } clish_view_restore_e;
 
 #include "lub/list.h"

+ 12 - 13
clish/view/view.c

@@ -332,10 +332,9 @@ static const char *restore_names[] = {
 /*--------------------------------------------------------- */
 const char *clish_view_restore__get_name(clish_view_restore_e restore)
 {
-	unsigned int max_restore = sizeof(restore_names) / sizeof(char *);
-
-	if (restore >= max_restore)
+	if (restore >= CLISH_RESTORE_MAX)
 		return NULL;
+
 	return restore_names[restore];
 }
 
@@ -343,17 +342,17 @@ const char *clish_view_restore__get_name(clish_view_restore_e restore)
 clish_view_restore_e clish_view_restore_resolve(const char *name)
 {
 	clish_view_restore_e result = CLISH_RESTORE_NONE;
-	if (NULL != name) {
-		unsigned i;
-		for (i = 0; i < CLISH_RESTORE_VIEW + 1; i++) {
-			if (0 == strcmp(name, restore_names[i])) {
-				result = (clish_view_restore_e) i;
-				break;
-			}
+	unsigned int i = 0;
+
+	if (!name)
+		return CLISH_RESTORE_NONE;
+
+	for (i = 0; i < CLISH_RESTORE_MAX; i++) {
+		if (0 == strcmp(name, restore_names[i])) {
+			result = (clish_view_restore_e)i;
+			break;
 		}
-		/* error for incorrect type spec */
-		assert(i <= CLISH_RESTORE_VIEW);
 	}
+
 	return result;
 }
-