diff src/cmds.c @ 9343:5f6ba17ef9f5

[gaim-migrate @ 10151] Changes things to return and accept GaimCmdId's instead of GaimCmdId*'s. This saves 4 bytes of the heap per command, and makes grim's memory profiler happy hopefully. It probably angers plugin writers who started registering commands already. Although maybe not since they probably don't have to change any code. committer: Tailor Script <tailor@pidgin.im>
author Tim Ringenbach <marv@pidgin.im>
date Tue, 22 Jun 2004 05:03:24 +0000
parents 3e2ea5b69605
children 796f510a6e19
line wrap: on
line diff
--- a/src/cmds.c	Tue Jun 22 04:21:54 2004 +0000
+++ b/src/cmds.c	Tue Jun 22 05:03:24 2004 +0000
@@ -50,21 +50,20 @@
 	else return 0;
 }
 
-GaimCmdId *gaim_cmd_register(const gchar *cmd, const gchar *args, GaimCmdPriority p, GaimCmdFlag f,
+GaimCmdId gaim_cmd_register(const gchar *cmd, const gchar *args, GaimCmdPriority p, GaimCmdFlag f,
                              const gchar *prpl_id, GaimCmdFunc func, const gchar *helpstr)
 {
-	GaimCmdId *id;
+	GaimCmdId id;
 	GaimCmd *c;
 
-	g_return_val_if_fail(cmd != NULL && *cmd != '\0', NULL);
-	g_return_val_if_fail(args != NULL, NULL);
-	g_return_val_if_fail(func != NULL, NULL);
+	g_return_val_if_fail(cmd != NULL && *cmd != '\0', 0);
+	g_return_val_if_fail(args != NULL, 0);
+	g_return_val_if_fail(func != NULL, 0);
 
-	id = g_new(GaimCmdId, 1);
-	*id = next_id++;
+	id = next_id++;
 
 	c = g_new0(GaimCmd, 1);
-	c->id = *id;
+	c->id = id;
 	c->cmd = g_strdup(cmd);
 	c->args = g_strdup(args);
 	c->priority = p;
@@ -90,7 +89,7 @@
 	g_free(c);
 }
 
-void gaim_cmd_unregister(GaimCmdId *id)
+void gaim_cmd_unregister(GaimCmdId id)
 {
 	GaimCmd *c;
 	GList *l;
@@ -98,10 +97,9 @@
 	for (l = cmds; l; l = l->next) {
 		c = l->data;
 
-		if (c->id == *id) {
+		if (c->id == id) {
 			cmds = g_list_remove(cmds, c);
 			gaim_cmd_free(c);
-			g_free(id);
 			return;
 		}
 	}