X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/66387a737208e277990b0cbfe58db3db419f34b2..190404d75c168ce1e6dbf6ee08bdbbf62b365e4b:/src/src/routers/manualroute.c diff --git a/src/src/routers/manualroute.c b/src/src/routers/manualroute.c index 9aa2490ec..c55c5e52b 100644 --- a/src/src/routers/manualroute.c +++ b/src/src/routers/manualroute.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2017 */ +/* Copyright (c) University of Cambridge 1995 - 2018 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -91,30 +91,25 @@ manualroute_router_init(router_instance *rblock) { manualroute_router_options_block *ob = (manualroute_router_options_block *)(rblock->options_block); -int i; /* Host_find_failed must be a recognized word */ -for (i = 0; i < hff_count; i++) - { +for (int i = 0; i < hff_count; i++) if (Ustrcmp(ob->host_find_failed, hff_names[i]) == 0) { ob->hff_code = hff_codes[i]; break; } - } if (ob->hff_code < 0) log_write(0, LOG_PANIC_DIE|LOG_CONFIG_FOR, "%s router:\n " "unrecognized setting for host_find_failed option", rblock->name); -for (i = 1; i < hff_count; i++) /* NB starts at 1 to skip "ignore" */ - { +for (int i = 1; i < hff_count; i++) /* NB starts at 1 to skip "ignore" */ if (Ustrcmp(ob->host_all_ignored, hff_names[i]) == 0) { ob->hai_code = hff_codes[i]; break; } - } if (ob->hai_code < 0) log_write(0, LOG_PANIC_DIE|LOG_CONFIG_FOR, "%s router:\n " "unrecognized setting for host_all_ignored option", rblock->name); @@ -159,15 +154,15 @@ parse_route_item(const uschar *s, const uschar **domain, const uschar **hostlist { while (*s != 0 && isspace(*s)) s++; -if (domain != NULL) +if (domain) { - if (*s == 0) return FALSE; /* missing data */ + if (!*s) return FALSE; /* missing data */ *domain = string_dequote(&s); - while (*s != 0 && isspace(*s)) s++; + while (*s && isspace(*s)) s++; } *hostlist = string_dequote(&s); -while (*s != 0 && isspace(*s)) s++; +while (*s && isspace(*s)) s++; *options = s; return TRUE; } @@ -261,7 +256,7 @@ DEBUG(D_route) debug_printf("%s router called for %s\n domain = %s\n", /* The initialization check ensures that either route_list or route_data is set. */ -if (ob->route_list != NULL) +if (ob->route_list) { int sep = -(';'); /* Default is semicolon */ listptr = ob->route_list; @@ -289,7 +284,7 @@ if (ob->route_list != NULL) } } - if (route_item == NULL) return DECLINE; /* No pattern in the list matched */ + if (!route_item) return DECLINE; /* No pattern in the list matched */ } /* Handle a single routing item in route_data. If it expands to an empty @@ -297,17 +292,17 @@ string, decline. */ else { - route_item = rf_expand_data(addr, ob->route_data, &rc); - if (route_item == NULL) return rc; + if (!(route_item = rf_expand_data(addr, ob->route_data, &rc))) + return rc; (void) parse_route_item(route_item, NULL, &hostlist, &options); - if (hostlist[0] == 0) return DECLINE; + if (!hostlist[0]) return DECLINE; } /* Expand the hostlist item. It may then pointing to an empty string, or to a single host or a list of hosts; options is pointing to the rest of the routelist item, which is either empty or contains various option words. */ -DEBUG(D_route) debug_printf("original list of hosts = \"%s\" options = %s\n", +DEBUG(D_route) debug_printf("original list of hosts = '%s' options = '%s'\n", hostlist, options); newhostlist = expand_string_copy(hostlist); @@ -317,23 +312,23 @@ expand_nmax = -1; /* If the expansion was forced to fail, just decline. Otherwise there is a configuration problem. */ -if (newhostlist == NULL) +if (!newhostlist) { - if (expand_string_forcedfail) return DECLINE; + if (f.expand_string_forcedfail) return DECLINE; addr->message = string_sprintf("%s router: failed to expand \"%s\": %s", rblock->name, hostlist, expand_string_message); return DEFER; } else hostlist = newhostlist; -DEBUG(D_route) debug_printf("expanded list of hosts = \"%s\" options = %s\n", +DEBUG(D_route) debug_printf("expanded list of hosts = '%s' options = '%s'\n", hostlist, options); /* Set default lookup type and scan the options */ lookup_type = LK_DEFAULT; -while (*options != 0) +while (*options) { unsigned n; const uschar *s = options; @@ -403,7 +398,7 @@ single text string that ends up in $host. */ if (transport && transport->info->local) { - if (hostlist[0] != 0) + if (hostlist[0]) { host_item *h; addr->host_list = h = store_get(sizeof(host_item)); @@ -430,7 +425,7 @@ if (transport && transport->info->local) list is mandatory in either case, except when verifying, in which case the address is just accepted. */ -if (hostlist[0] == 0) +if (!hostlist[0]) { if (verify != v_none) goto ROUTED; addr->message = string_sprintf("error in %s router: no host(s) specified " @@ -442,7 +437,7 @@ if (hostlist[0] == 0) /* Otherwise we finish the routing here by building a chain of host items for the list of configured hosts, and then finding their addresses. */ -host_build_hostlist(&(addr->host_list), hostlist, randomize); +host_build_hostlist(&addr->host_list, hostlist, randomize); rc = rf_lookup_hostlist(rblock, addr, rblock->ignore_target_hosts, lookup_type, ob->hff_code, addr_new); if (rc != OK) return rc;