From: Sami Kerola Date: Fri, 21 Jan 2011 23:14:52 +0000 (+0100) Subject: After fopen in ouput ioctl does like /dev/null which cause X-Git-Tag: v2.13^0 X-Git-Url: http://git.asbjorn.it/?p=debian%2Fdhcpd-pools.git;a=commitdiff_plain;h=ff572a4a55cd3d693d5e5b3f0a9757b6b9088017 After fopen in ouput ioctl does like /dev/null which cause ENOTTY, and clean_up will see that without this reset. At least linux does this, and possibly some other systems. There's a report from FreeBSD 8.0 which matches quite well with the symptom. Signed-off-by: Sami Kerola --- diff --git a/src/dhcpd-pools.c b/src/dhcpd-pools.c index a27724d..717743d 100644 --- a/src/dhcpd-pools.c +++ b/src/dhcpd-pools.c @@ -36,6 +36,7 @@ extern char *malloc(); #include #endif #include +#include #include "dhcpd-pools.h" #include "defaults.h" @@ -262,6 +263,13 @@ int main(int argc, char **argv) } free(tmp_ranges); output_analysis(); + /* After fopen in ouput ioctl does like /dev/null which + * cause ENOTTY, and clean_up will see that without this + * reset. At least linux does this, and possibly some + * other systems. There's a report from FreeBSD 8.0 which + * matches quite well with the symptom. */ + if (errno == 25) + errno = 0; if ((config.output_format[0] == 'x') || (config.output_format[0] == 'X')) {