[ekg2-commit] r4088 - trunk/ekg: trunk/ekg/commands.c

SVN commit svn w toxygen.net
Śro, 9 Lip 2008, 23:52:55 CEST


Author: darkjames
Date: 2008-07-09 23:52:55 +0200 (Wed, 09 Jul 2008)
New Revision: 4088

Modified:
   trunk/ekg/commands.c
Log:
IInd try to cleanup cmd_alias()


Modified: trunk/ekg/commands.c
===================================================================
--- trunk/ekg/commands.c	2008-07-09 20:56:22 UTC (rev 4087)
+++ trunk/ekg/commands.c	2008-07-09 21:52:55 UTC (rev 4088)
@@ -371,34 +371,20 @@
 	return result;
 }
 
-static COMMAND(cmd_alias)
-{
-	if (match_arg(params[0], 'a', ("add"), 2)) {
+static COMMAND(cmd_alias) {
+	int append = match_arg(params[0], 'A', ("append"), 2);
+
+	if (append || match_arg(params[0], 'a', ("add"), 2)) {
 		if (!params[1] || !xstrchr(params[1], ' ')) {
 			printq("not_enough_params", name);
 			return -1;
 		}
 
-		if (!alias_add(params[1], quiet, 0)) {
-			config_changed = 1;
-			return 0;
-		}
-
-		return -1;
-	}
-
-	if (match_arg(params[0], 'A', ("append"), 2)) {
-		if (!params[1] || !xstrchr(params[1], ' ')) {
-			printq("not_enough_params", name);
+		if (alias_add(params[1], quiet, append))
 			return -1;
-		}
 
-		if (!alias_add(params[1], quiet, 1)) {
-			config_changed = 1;
-			return 0;
-		}
-
-		return -1;
+		config_changed = 1;
+		return 0;
 	}
 
 	if (match_arg(params[0], 'd', ("del"), 2)) {
@@ -411,27 +397,25 @@
 
 		if (!xstrcmp(params[1], "*"))
 			ret = alias_remove(NULL, quiet);
-		else {
+		else
 			ret = alias_remove(params[1], quiet);
-		}
 
-		if (!ret) {
-			config_changed = 1;
-			return 0;
-		}
+		if (ret)
+			return -1;
 
-		return -1;
+		config_changed = 1;
+		return 0;
 	}
 	
 	if (!params[0] || match_arg(params[0], 'l', ("list"), 2) || params[0][0] != '-') {
-		alias_t *a;
+		const char *aname;
 		int count = 0;
-		const char *aname = NULL;
+		alias_t *a;
 
 		if (match_arg(params[0], 'l', ("list"), 2))
 			aname = params[1];
-		else if (params[0])
-			aname = params[0];
+		else
+			aname = params[0];	/* it can be NULL */
 
 		for (a = aliases; a; a = a->next) {
 			list_t m;
@@ -441,7 +425,7 @@
 			if (aname && xstrcasecmp(aname, a->name))
 				continue;
 
-			tmp = xcalloc(xstrlen(a->name) + 1, sizeof(char));
+			tmp = xmalloc(xstrlen(a->name) + 1);
 			memset(tmp, ' ', xstrlen(a->name));
 
 			for (m = a->commands; m; m = m->next) {
@@ -465,7 +449,6 @@
 	}
 
 	printq("invalid_params", name);
-
 	return -1;
 }
 



Więcej informacji o liście dyskusyjnej ekg2-commit