diff options
author | Anton Lavrentiev via Cygwin-patches <cygwin-patches@cygwin.com> | 2022-01-18 19:09:33 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2022-01-19 10:08:19 +0300 |
commit | 3eba4cb6762a6bbe71c5324437f39f7d6a9e4cf8 (patch) | |
tree | 9a77e494092c746883b41d9e08428387b30fb5e9 | |
parent | f5d654c24e85f984ff34461934395b36fea2be0f (diff) |
Cygwin: resolver: Process options forward (not backwards)
Also, make sure the debug setting propagates to the parser of
the remainder of /etc/resolv.conf
-rw-r--r-- | winsup/cygwin/libc/minires.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/winsup/cygwin/libc/minires.c b/winsup/cygwin/libc/minires.c index 0979daae3..1f9da9461 100644 --- a/winsup/cygwin/libc/minires.c +++ b/winsup/cygwin/libc/minires.c @@ -86,12 +86,12 @@ Read options ***********************************************************************/ -static void get_options(res_state statp, int i, char **words) +static void get_options(res_state statp, int n, char **words) { char *ptr; - int value; + int i, value; - while (i-- > 0) { + for (i = 0; i < n; ++i) { if (!strcasecmp("debug", words[i])) { statp->options |= RES_DEBUG; DPRINTF(statp->options & RES_DEBUG, "%s: 1\n", words[i]); @@ -208,8 +208,10 @@ static void get_resolv(res_state statp) } } /* Options line */ - else if (!strncasecmp("options", words[0], sizes[0])) + else if (!strncasecmp("options", words[0], sizes[0])) { get_options(statp, i - 1, &words[1]); + debug = statp->options & RES_DEBUG; + } } } fclose(fd); |