changeset 272:681863fdafbb

refactoring in the small
author markus schnalke <meillo@marmaro.de>
date Fri, 03 Dec 2010 19:13:25 -0300 (2010-12-03)
parents 899175e8dff0
children 00724782b6c9
files src/rewrite.c
diffstat 1 files changed, 33 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/src/rewrite.c	Fri Dec 03 13:05:59 2010 -0300
+++ b/src/rewrite.c	Fri Dec 03 19:13:25 2010 -0300
@@ -26,39 +26,38 @@
 	gchar *p = hdr->value;
 	gchar *new_hdr = g_strndup(hdr->header, hdr->value - hdr->header);
 	gint tmp;
+	gchar *loc_beg, *loc_end;
+	gchar *dom_beg, *dom_end;
+	gchar *addr_end;
+	gchar *rewr_string;
+	gchar *left, *right;
 
 	while (*p) {
-		gchar *loc_beg, *loc_end;
-		gchar *dom_beg, *dom_end;
-		gchar *addr_end;
-		gchar *rewr_string;
+		if (!parse_address_rfc822(p, &loc_beg, &loc_end, &dom_beg, &dom_end, &addr_end)) {
+			return FALSE;
+		}
 
-		if (parse_address_rfc822(p, &loc_beg, &loc_end, &dom_beg, &dom_end, &addr_end)) {
-			gchar *left, *right;
+		if (dom_beg) {
+			left = g_strndup(p, dom_beg - p);
+			right = g_strndup(dom_end, addr_end - dom_end);
 
-			if (dom_beg != NULL) {
-				left = g_strndup(p, dom_beg - p);
-				right = g_strndup(dom_end, addr_end - dom_end);
+			rewr_string = g_strconcat(left, domain, right, NULL);
+		} else {
+			left = g_strndup(p, loc_end - p);
+			right = g_strndup(loc_end, addr_end - loc_end);
 
-				rewr_string = g_strconcat(left, domain, right, NULL);
-			} else {
-				left = g_strndup(p, loc_end - p);
-				right = g_strndup(loc_end, addr_end - loc_end);
-
-				rewr_string = g_strconcat(left, "@", domain, right, NULL);
-			}
-			g_free(left);
-			g_free(right);
+			rewr_string = g_strconcat(left, "@", domain, right, NULL);
+		}
+		g_free(left);
+		g_free(right);
 
-			p = addr_end;
-			if (*p == ',')
-				p++;
+		p = addr_end;
+		if (*p == ',') {
+			p++;
+		}
+		new_hdr = g_strconcat(new_hdr, rewr_string, *p != '\0' ? "," : NULL, NULL);
+	}
 
-			new_hdr = g_strconcat(new_hdr, rewr_string, *p != '\0' ? "," : NULL, NULL);
-
-		} else
-			return FALSE;
-	}
 	tmp = (hdr->value - hdr->header);
 	g_free(hdr->header);
 	hdr->header = new_hdr;
@@ -79,19 +78,22 @@
 		address *addr = (address *) (addr_node->data);
 		gchar *rewr_string = (gchar *) table_find_fnmatch(table, addr->local_part);
 
-		if (rewr_string == NULL)
-			rewr_string = addr->address;
-		else
+		if (rewr_string) {
 			did_change = TRUE;
+		} else {
+			rewr_string = addr->address;
+		}
 
-		if (rewr_string)
+		if (rewr_string) {
 			new_hdr = g_strconcat(new_hdr, rewr_string, g_list_next(addr_node) ? "," : "\n", NULL);
+		}
 	}
 	if (did_change) {
 		g_free(hdr->header);
 		hdr->header = new_hdr;
-	} else
+	} else {
 		g_free(new_hdr);
+	}
 
 	return did_change;
 }