while ((opt = getopt_long(argc, argv, IF_OPTS, cf_options, &oi)) != -1)
{
switch (opt) {
- case 'b':
- options |= DHCPCD_BACKGROUND;
- break;
case 'd':
setlogmask(LOG_UPTO(LOG_DEBUG));
break;
case 'n':
sig = SIGALRM;
break;
- case 'q':
- setlogmask(LOG_UPTO(LOG_WARNING));
- options |= DHCPCD_QUIET;
- break;
case 'x':
sig = SIGTERM;
break;
- case 'B':
- options &= ~DHCPCD_DAEMONISE;
- break;
case 'T':
options |= DHCPCD_TEST | DHCPCD_PERSISTENT;
break;
exit(EXIT_FAILURE);
}
+#ifdef THERE_IS_NO_FORK
+ options &= ~DHCPCD_DAEMONISE;
+#endif
+
+ if (ifo->options & DHCPCD_QUIET)
+ setlogmask(LOG_UPTO(LOG_WARNING));
+
/* If we have any other args, we should run as a single dhcpcd instance
* for that interface. */
len = strlen(PIDFILE) + IF_NAMESIZE + 2;
snprintf(pidfile, len, PIDFILE, "", "");
options |= DHCPCD_MASTER;
}
-
-#ifdef THERE_IS_NO_FORK
- options &= ~DHCPCD_DAEMONISE;
-#endif
chdir("/");
umask(022);
struct in_addr addr;
switch(opt) {
- case 'b': /* FALLTHROUGH */
case 'd': /* FALLTHROUGH */
case 'k': /* FALLTHROUGH */
case 'n': /* FALLTHROUGH */
- case 'q': /* FALLTHROUGH */
case 'x': /* FALLTHROUGH */
- case 'B': /* FALLTHROUGH */
case 'T': /* We need to handle non interface options */
break;
+ case 'b':
+ ifo->options |= DHCPCD_BACKGROUND;
+ break;
case 'c':
strlcpy(ifo->script, arg, sizeof(ifo->script));
break;
case 'p':
ifo->options |= DHCPCD_PERSISTENT;
break;
+ case 'q':
+ ifo->options |= DHCPCD_QUIET;
+ break;
case 's':
ifo->options |= DHCPCD_INFORM;
ifo->options |= DHCPCD_PERSISTENT;
/* IPv4LL requires ARP */
ifo->options &= ~DHCPCD_IPV4LL;
break;
+ case 'B':
+ ifo->options &= ~DHCPCD_DAEMONISE;
+ break;
case 'C':
/* Commas to spaces for shell */
while ((p = strchr(arg, ',')))