#include <sys/ioctl.h>
#include <sys/socket.h>
-#if HAVE_ERROR_H
-#include <error.h>
-#endif
-
int do_reload = 1;
int debug;
memset(&ifr, 0, sizeof(ifr));
strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
if (ioctl(pset[0].fd, SIOCGIFINDEX, &ifr)) {
- error(0, errno, "ioctl(SIOCGIFINDEX)");
- usage();
+ fprintf(stderr, "%s: %s: ioctl(SIOCGIFINDEX): %s\n",
+ progname, ifname, strerror(errno));
+ print_usage(stderr);
+ return EXIT_FAILURE;
}
ifidx = ifr.ifr_ifindex;
}
pset[0] = pset[1];
psize--;
}
- if (psize == 0)
- error(1, errno, "failed to bind any socket");
+ if (psize == 0) {
+ fprintf(stderr, "%s: error: failed to bind any socket\n", progname);
+ return EXIT_FAILURE;
+ }
if (!debug) {
- if (daemon(0, 0) < 0)
- error(1, errno, "failed to daemon()");
+ if (daemon(0, 0) < 0) {
+ fprintf(stderr, "%s: error: daemon() failed: %s\n",
+ progname, strerror(errno));
+ return EXIT_FAILURE;
+ }
}
openlog("rarpd", LOG_PID | LOG_CONS, LOG_DAEMON);