Index: cmd.c
===================================================================
--- cmd.c	(revision 6a7111370ea0e1de2c3eb86a85f34cd68848d4b1)
+++ cmd.c	(revision 92fc39701adde0a4eb22ba7dad30e5d136fcc77c)
@@ -12,12 +12,11 @@
 
 int owl_cmddict_setup(owl_cmddict *cd) {
-  if (0 != owl_cmddict_init(cd)) return(-1);
+  owl_cmddict_init(cd);
   if (0 != owl_cmddict_add_from_list(cd, commands_to_init)) return(-1);
   return(0);
 }
 
-int owl_cmddict_init(owl_cmddict *cd) {
-  if (owl_dict_create(cd)) return(-1);
-  return(0);
+void owl_cmddict_init(owl_cmddict *cd) {
+  owl_dict_create(cd);
 }
 
@@ -135,9 +134,9 @@
 void owl_cmd_cleanup(owl_cmd *cmd)
 {
-  if (cmd->name) g_free(cmd->name);
-  if (cmd->summary) g_free(cmd->summary);
-  if (cmd->usage) g_free(cmd->usage);
-  if (cmd->description) g_free(cmd->description);
-  if (cmd->cmd_aliased_to) g_free(cmd->cmd_aliased_to);
+  g_free(cmd->name);
+  g_free(cmd->summary);
+  g_free(cmd->usage);
+  g_free(cmd->description);
+  g_free(cmd->cmd_aliased_to);
   if (cmd->cmd_perl) owl_perlconfig_cmd_cleanup(cmd);
 }
Index: commands.c
===================================================================
--- commands.c	(revision c809f5e8a3cc2745724f518c89b09279b5508b02)
+++ commands.c	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -1288,5 +1288,5 @@
   }
   owl_function_nextmsg_full(filter, skip_deleted, last_if_none);
-  if (filter) g_free(filter);
+  g_free(filter);
   return(NULL);
 }
@@ -1318,5 +1318,5 @@
   }
   owl_function_prevmsg_full(filter, skip_deleted, first_if_none);
-  if (filter) g_free(filter);
+  g_free(filter);
   return(NULL);
 }
@@ -1691,7 +1691,5 @@
   commands = g_strsplit_set(newbuff, ";", 0);
   for (i = 0; commands[i] != NULL; i++) {
-    if (lastrv) {
-      g_free(lastrv);
-    }
+    g_free(lastrv);
     lastrv = owl_function_command(commands[i]);
   }
Index: dict.c
===================================================================
--- dict.c	(revision f25df21f6284aedd48c098bc68cee9896da5ce98)
+++ dict.c	(revision 92fc39701adde0a4eb22ba7dad30e5d136fcc77c)
@@ -15,10 +15,8 @@
 #define GROWBY 3 / 2
 
-int owl_dict_create(owl_dict *d) {
+void owl_dict_create(owl_dict *d) {
   d->size=0;
   d->els=g_new(owl_dict_el, INITSIZE);
   d->avail=INITSIZE;
-  if (d->els==NULL) return(-1);
-  return(0);
 }
 
@@ -60,12 +58,9 @@
 /* Appends dictionary keys to a list.  Duplicates the keys,
  * so they will need to be freed by the caller. */
-int owl_dict_get_keys(const owl_dict *d, owl_list *l) {
+void owl_dict_get_keys(const owl_dict *d, owl_list *l) {
   int i;
-  char *dupk;
   for (i=0; i<d->size; i++) {
-    if ((dupk = g_strdup(d->els[i].k)) == NULL) return(-1);
-    owl_list_append_element(l, dupk);
+    owl_list_append_element(l, g_strdup(d->els[i].k));
   }
-  return(0);
 }
 
@@ -84,5 +79,4 @@
 {
   int pos, found;
-  char *dupk;
   found = _owl_dict_find_pos(d, k, &pos);
   if (found && delete_on_replace) {
@@ -99,5 +93,4 @@
       if (d->els==NULL) return(-1);
     }
-    if ((dupk = g_strdup(k)) == NULL) return(-1);
     if (pos!=d->size) {
       /* shift forward to leave us a slot */
@@ -106,5 +99,5 @@
     }
     d->size++;
-    d->els[pos].k = dupk;
+    d->els[pos].k = g_strdup(k);
     d->els[pos].v = v;    
     return(0);
Index: editwin.c
===================================================================
--- editwin.c	(revision 47e0a6a50d1c08ec05030b2507b3f1a84b618a9f)
+++ editwin.c	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -317,6 +317,5 @@
   }
 
-  if (locktext)
-    g_free(locktext);
+  g_free(locktext);
 
   oe_set_index(e, lock);
Index: functions.c
===================================================================
--- functions.c	(revision 7865479440dd042766ecbbc1119b45e5eb7cd6a6)
+++ functions.c	(revision 7865479440dd042766ecbbc1119b45e5eb7cd6a6)
@@ -32,5 +32,5 @@
   char *rv;
   rv=owl_function_command(cmdbuff);
-  if (rv) g_free(rv);
+  g_free(rv);
 }
 
@@ -453,5 +453,5 @@
 
   if (rv || status) {
-    if(cryptmsg) g_free(cryptmsg);
+    g_free(cryptmsg);
     g_free(old_msg);
     owl_function_error("Error in zcrypt, possibly no key found.  Message not sent.");
@@ -991,5 +991,5 @@
   /* execute the commands in shutdown */
   ret = owl_perlconfig_execute("BarnOwl::Hooks::_shutdown();");
-  if (ret) g_free(ret);
+  g_free(ret);
 
   /* signal our child process, if any */
@@ -2358,7 +2358,5 @@
 done:
   g_free(class);
-  if (instance) {
-    g_free(instance);
-  }
+  g_free(instance);
   return(filtname);
 }
Index: global.c
===================================================================
--- global.c	(revision 7b4f3bea704ed82f2c36ba19fcf354d7442a5bb7)
+++ global.c	(revision c72f884caf3b2d7f843d60879851ef9e591c99b5)
@@ -505,5 +505,5 @@
 
 void owl_global_set_startupargs(owl_global *g, int argc, char **argv) {
-  if (g->startupargs) g_free(g->startupargs);
+  g_free(g->startupargs);
   g->startupargs = g_strjoinv(" ", argv);
 }
@@ -747,6 +747,6 @@
 }
 
-int owl_global_get_style_names(const owl_global *g, owl_list *l) {
-  return owl_dict_get_keys(&(g->styledict), l);
+void owl_global_get_style_names(const owl_global *g, owl_list *l) {
+  owl_dict_get_keys(&(g->styledict), l);
 }
 
Index: keybinding.c
===================================================================
--- keybinding.c	(revision d07af84683f667d7c34814c1b0a12823b08f6df0)
+++ keybinding.c	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -69,7 +69,7 @@
 void owl_keybinding_delete(owl_keybinding *kb)
 {
-  if (kb->keys) g_free(kb->keys);
-  if (kb->desc) g_free(kb->desc);
-  if (kb->command) g_free(kb->command);
+  g_free(kb->keys);
+  g_free(kb->desc);
+  g_free(kb->command);
   g_free(kb);
 }
Index: keymap.c
===================================================================
--- keymap.c	(revision 47e0a6a50d1c08ec05030b2507b3f1a84b618a9f)
+++ keymap.c	(revision 92fc39701adde0a4eb22ba7dad30e5d136fcc77c)
@@ -9,7 +9,7 @@
 {
   if (!name || !desc) return(-1);
-  if ((km->name = g_strdup(name)) == NULL) return(-1);
-  if ((km->desc = g_strdup(desc)) == NULL) return(-1);
-  if (0 != owl_list_create(&km->bindings)) return(-1);
+  km->name = g_strdup(name);
+  km->desc = g_strdup(desc);
+  owl_list_create(&km->bindings);
   km->parent = NULL;
   km->default_fn = default_fn;
@@ -179,10 +179,9 @@
 /* NOTE: keyhandler has private access to the internals of keymap */
 
-int owl_keyhandler_init(owl_keyhandler *kh)
-{
-  if (0 != owl_dict_create(&kh->keymaps)) return(-1); 
+void owl_keyhandler_init(owl_keyhandler *kh)
+{
+  owl_dict_create(&kh->keymaps);
   kh->active = NULL;
   owl_keyhandler_reset(kh);
-  return(0);
 }
 
Index: list.c
===================================================================
--- list.c	(revision ddbbcffae8064f4d266a9735a16225e4feef1a3c)
+++ list.c	(revision 7fd0bf7021b7f0e3079b3a879ff9d17d1c66c374)
@@ -5,11 +5,9 @@
 #define GROWBY 3 / 2
 
-int owl_list_create(owl_list *l)
+void owl_list_create(owl_list *l)
 {
   l->size=0;
   l->list=g_new(void *, INITSIZE);
   l->avail=INITSIZE;
-  if (l->list==NULL) return(-1);
-  return(0);
 }
 
Index: owl.c
===================================================================
--- owl.c	(revision 9efa5bd38b986cf116a08ae43aa3f8629dcc6e60)
+++ owl.c	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -552,5 +552,5 @@
   owl_function_debugmsg("startup: executing perl startup, if applicable");
   perlout = owl_perlconfig_execute("BarnOwl::Hooks::_startup();");
-  if (perlout) g_free(perlout);
+  g_free(perlout);
 
   /* welcome message */
Index: perlconfig.c
===================================================================
--- perlconfig.c	(revision f2d71cfa06117d6e28806432db20b584c4596a19)
+++ perlconfig.c	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -467,5 +467,5 @@
                                            :"BarnOwl::_receive_msg_legacy_wrap", m);
   }
-  if (ptr) g_free(ptr);
+  g_free(ptr);
 }
 
@@ -478,5 +478,5 @@
                                            :"BarnOwl::Hooks::_new_msg", m);
   }
-  if (ptr) g_free(ptr);
+  g_free(ptr);
 }
 
Index: perlglue.xs
===================================================================
--- perlglue.xs	(revision 6a7111370ea0e1de2c3eb86a85f34cd68848d4b1)
+++ perlglue.xs	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -57,5 +57,5 @@
 		RETVAL
 	CLEANUP:
-		if (rv) g_free(rv);
+		g_free(rv);
 
 SV *
@@ -114,5 +114,5 @@
 		RETVAL
 	CLEANUP:
-		if (rv) g_free(rv);
+		g_free(rv);
 
 const utf8 *
@@ -141,5 +141,5 @@
 		RETVAL
     CLEANUP:
-		if (rv) g_free(rv);
+		g_free(rv);
 
 void
@@ -324,6 +324,5 @@
 		RETVAL
 	CLEANUP:
-		if (rv)
-			g_free(rv);
+		g_free(rv);
 
 void
Index: tester.c
===================================================================
--- tester.c	(revision f25df21f6284aedd48c098bc68cee9896da5ce98)
+++ tester.c	(revision 92fc39701adde0a4eb22ba7dad30e5d136fcc77c)
@@ -233,5 +233,5 @@
 
   printf("# BEGIN testing owl_dict\n");
-  FAIL_UNLESS("create", 0==owl_dict_create(&d));
+  owl_dict_create(&d);
   FAIL_UNLESS("insert b", 0==owl_dict_insert_element(&d, "b", bv, owl_dict_noop_delete));
   FAIL_UNLESS("insert d", 0==owl_dict_insert_element(&d, "d", dv, owl_dict_noop_delete));
@@ -249,5 +249,5 @@
   FAIL_UNLESS("get_size", 3==owl_dict_get_size(&d));
   owl_list_create(&l);
-  FAIL_UNLESS("get_keys", 0==owl_dict_get_keys(&d, &l));
+  owl_dict_get_keys(&d, &l);
   FAIL_UNLESS("get_keys result size", 3==owl_list_get_size(&l));
   
Index: variable.c
===================================================================
--- variable.c	(revision f203cad04d71e968a11be5e72e6c9d805e02010d)
+++ variable.c	(revision 92fc39701adde0a4eb22ba7dad30e5d136fcc77c)
@@ -559,5 +559,5 @@
 int owl_variable_dict_setup(owl_vardict *vd) {
   owl_variable *var, *cur;
-  if (owl_dict_create(vd)) return(-1);
+  owl_dict_create(vd);
   for (var = variables_to_init; var->name != NULL; var++) {
     cur = g_new(owl_variable, 1);
@@ -641,7 +641,7 @@
 
 void owl_variable_update(owl_variable *var, const char *summary, const char *desc) {
-  if(var->summary) g_free(var->summary);
+  g_free(var->summary);
   var->summary = g_strdup(summary);
-  if(var->description) g_free(var->description);
+  g_free(var->description);
   var->description = g_strdup(desc);
 }
@@ -651,5 +651,5 @@
   if(old) {
     owl_variable_update(old, summ, desc);
-    if(old->pval_default) g_free(old->pval_default);
+    g_free(old->pval_default);
     old->pval_default = g_strdup(initval);
   } else {
@@ -944,5 +944,5 @@
 void owl_variable_delete_default(owl_variable *v)
 {
-  if (v->val) g_free(v->val);
+  g_free(v->val);
 }
 
@@ -1076,5 +1076,5 @@
     if (!v->validate_fn(v, newval)) return(-1);
   }
-  if (v->val) g_free(v->val);
+  g_free(v->val);
   v->val = g_strdup(newval);
   return(0);
Index: view.c
===================================================================
--- view.c	(revision d4927a70549407fe7f56b4ae1d3949663a370205)
+++ view.c	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -160,4 +160,4 @@
 {
   owl_list_cleanup(&v->ml.list, NULL);
-  if (v->name) g_free(v->name);
+  g_free(v->name);
 }
Index: zcrypt.c
===================================================================
--- zcrypt.c	(revision 1dd285b0045528991a838942c7ba925dbcf64128)
+++ zcrypt.c	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -476,12 +476,8 @@
 
   for(i = 0; i < MAX_SEARCH; i++) {
-    if(varname[i] != NULL) {
-      g_free(varname[i]);
-    }
-  }
-
-  if(filename != NULL) {
-    g_free(filename);
-  }
+    g_free(varname[i]);
+  }
+
+  g_free(filename);
 
   return keyfile;
@@ -773,5 +769,5 @@
   err = call_filter("gpg", argv, in, &out, &status);
   if(err || status) {
-    if(out) g_free(out);
+    g_free(out);
     return FALSE;
   }
@@ -856,5 +852,5 @@
   err = call_filter("gpg", argv, in, &out, &status);
   if(err || status) {
-    if(out) g_free(out);
+    g_free(out);
     return FALSE;
   }
Index: zephyr.c
===================================================================
--- zephyr.c	(revision f203cad04d71e968a11be5e72e6c9d805e02010d)
+++ zephyr.c	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -417,6 +417,5 @@
     return 0;
   }
-  if (buffer)
-    g_free(buffer);
+  g_free(buffer);
 
   return owl_zephyr_loadsubs_helper(subs, count);
Index: zwrite.c
===================================================================
--- zwrite.c	(revision 3f52e1446b6b705636f09d02d657c28d38ef29a2)
+++ zwrite.c	(revision 55b2de897c6ffcca22f56b8d160b51ee646b1fd7)
@@ -185,5 +185,5 @@
 void owl_zwrite_set_message_raw(owl_zwrite *z, const char *msg)
 {
-  if (z->message) g_free(z->message);
+  g_free(z->message);
   z->message = owl_validate_utf8(msg);
 }
@@ -195,5 +195,5 @@
   char *tmp = NULL, *tmp2;
 
-  if (z->message) g_free(z->message);
+  g_free(z->message);
 
   j=owl_list_get_size(&(z->recips));
@@ -289,5 +289,5 @@
 void owl_zwrite_set_opcode(owl_zwrite *z, const char *opcode)
 {
-  if (z->opcode) g_free(z->opcode);
+  g_free(z->opcode);
   z->opcode=owl_validate_utf8(opcode);
 }
@@ -306,5 +306,5 @@
 void owl_zwrite_set_zsig(owl_zwrite *z, const char *zsig)
 {
-  if(z->zsig) g_free(z->zsig);
+  g_free(z->zsig);
   z->zsig = g_strdup(zsig);
 }
@@ -353,12 +353,12 @@
 {
   owl_list_cleanup(&(z->recips), &g_free);
-  if (z->cmd) g_free(z->cmd);
-  if (z->zwriteline) g_free(z->zwriteline);
-  if (z->class) g_free(z->class);
-  if (z->inst) g_free(z->inst);
-  if (z->opcode) g_free(z->opcode);
-  if (z->realm) g_free(z->realm);
-  if (z->message) g_free(z->message);
-  if (z->zsig) g_free(z->zsig);
+  g_free(z->cmd);
+  g_free(z->zwriteline);
+  g_free(z->class);
+  g_free(z->inst);
+  g_free(z->opcode);
+  g_free(z->realm);
+  g_free(z->message);
+  g_free(z->zsig);
 }
 
