Mercurial > masqmail
comparison src/rewrite.c @ 10:26e34ae9a3e3
changed indention and line wrapping to a more consistent style
author | meillo@marmaro.de |
---|---|
date | Mon, 27 Oct 2008 16:23:10 +0100 |
parents | 08114f7dcc23 |
children | f671821d8222 |
comparison
equal
deleted
inserted
replaced
9:31cc8a89cb74 | 10:26e34ae9a3e3 |
---|---|
18 | 18 |
19 #ifndef REWRITE_TEST | 19 #ifndef REWRITE_TEST |
20 #include "masqmail.h" | 20 #include "masqmail.h" |
21 #endif | 21 #endif |
22 | 22 |
23 gboolean set_address_header_domain(header *hdr, gchar *domain) | 23 gboolean |
24 set_address_header_domain(header * hdr, gchar * domain) | |
24 { | 25 { |
25 gchar *p = hdr->value; | 26 gchar *p = hdr->value; |
26 gchar *new_hdr = g_strndup(hdr->header, hdr->value - hdr->header); | 27 gchar *new_hdr = g_strndup(hdr->header, hdr->value - hdr->header); |
27 gint tmp; | 28 gint tmp; |
28 | 29 |
29 while(*p){ | 30 while (*p) { |
30 gchar *loc_beg, *loc_end; | 31 gchar *loc_beg, *loc_end; |
31 gchar *dom_beg, *dom_end; | 32 gchar *dom_beg, *dom_end; |
32 gchar *addr_end; | 33 gchar *addr_end; |
33 gchar *rewr_string; | 34 gchar *rewr_string; |
34 | 35 |
35 if(parse_address_rfc822(p, | 36 if (parse_address_rfc822(p, &loc_beg, &loc_end, &dom_beg, &dom_end, &addr_end)) { |
36 &loc_beg, &loc_end, &dom_beg, &dom_end, &addr_end)){ | 37 gchar *left, *right; |
37 gchar *left, *right; | |
38 | 38 |
39 if(dom_beg != NULL){ | 39 if (dom_beg != NULL) { |
40 left = g_strndup(p, dom_beg - p); | 40 left = g_strndup(p, dom_beg - p); |
41 right = g_strndup(dom_end, addr_end - dom_end); | 41 right = g_strndup(dom_end, addr_end - dom_end); |
42 | 42 |
43 rewr_string = g_strconcat(left, domain, right, NULL); | 43 rewr_string = g_strconcat(left, domain, right, NULL); |
44 }else{ | 44 } else { |
45 left = g_strndup(p, loc_end - p); | 45 left = g_strndup(p, loc_end - p); |
46 right = g_strndup(loc_end, addr_end - loc_end); | 46 right = g_strndup(loc_end, addr_end - loc_end); |
47 | 47 |
48 rewr_string = g_strconcat(left, "@", domain, right, NULL); | 48 rewr_string = g_strconcat(left, "@", domain, right, NULL); |
49 } | 49 } |
50 g_free(left); | 50 g_free(left); |
51 g_free(right); | 51 g_free(right); |
52 | 52 |
53 p = addr_end; | 53 p = addr_end; |
54 if(*p == ',') p++; | 54 if (*p == ',') |
55 p++; | |
55 | 56 |
56 new_hdr = | 57 new_hdr = g_strconcat(new_hdr, rewr_string, *p != 0 ? "," : NULL, NULL); |
57 g_strconcat(new_hdr, rewr_string, | |
58 *p != 0 ? "," : NULL, NULL); | |
59 | 58 |
60 }else | 59 } else |
61 return FALSE; | 60 return FALSE; |
62 } | 61 } |
63 tmp = (hdr->value - hdr->header); | 62 tmp = (hdr->value - hdr->header); |
64 g_free(hdr->header); | 63 g_free(hdr->header); |
65 hdr->header = new_hdr; | 64 hdr->header = new_hdr; |
66 hdr->value = hdr->header + tmp; | 65 hdr->value = hdr->header + tmp; |
67 | 66 |
68 return TRUE; | 67 return TRUE; |
69 } | 68 } |
70 | 69 |
71 gboolean map_address_header(header *hdr, GList *table) | 70 gboolean |
71 map_address_header(header * hdr, GList * table) | |
72 { | 72 { |
73 GList *addr_list = addr_list_append_rfc822(NULL, hdr->value, conf.host_name); | 73 GList *addr_list = addr_list_append_rfc822(NULL, hdr->value, conf.host_name); |
74 GList *addr_node; | 74 GList *addr_node; |
75 gchar *new_hdr = g_strndup(hdr->header, hdr->value - hdr->header); | 75 gchar *new_hdr = g_strndup(hdr->header, hdr->value - hdr->header); |
76 gboolean did_change = FALSE; | 76 gboolean did_change = FALSE; |
77 | 77 |
78 foreach(addr_list, addr_node){ | 78 foreach(addr_list, addr_node) { |
79 address *addr = (address *)(addr_node->data); | 79 address *addr = (address *) (addr_node->data); |
80 gchar *rewr_string = (gchar *)table_find_fnmatch(table, addr->local_part); | 80 gchar *rewr_string = (gchar *) table_find_fnmatch(table, addr->local_part); |
81 | 81 |
82 if(rewr_string == NULL) | 82 if (rewr_string == NULL) |
83 rewr_string = addr->address; | 83 rewr_string = addr->address; |
84 else | 84 else |
85 did_change = TRUE; | 85 did_change = TRUE; |
86 | 86 |
87 if(rewr_string) | 87 if (rewr_string) |
88 new_hdr = | 88 new_hdr = g_strconcat(new_hdr, rewr_string, g_list_next(addr_node) ? "," : "\n", NULL); |
89 g_strconcat(new_hdr, rewr_string, | 89 } |
90 g_list_next(addr_node) ? "," : "\n", NULL); | 90 if (did_change) { |
91 } | 91 g_free(hdr->header); |
92 if(did_change){ | 92 hdr->header = new_hdr; |
93 g_free(hdr->header); | 93 } else |
94 hdr->header = new_hdr; | 94 g_free(new_hdr); |
95 }else | |
96 g_free(new_hdr); | |
97 | 95 |
98 return did_change; | 96 return did_change; |
99 } | 97 } |
100 |