diff options
author | Anton Lavrentiev via Cygwin-patches <cygwin-patches@cygwin.com> | 2022-01-18 11:09:33 -0500 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2022-01-19 08:05:18 +0100 |
commit | fa279a583dd961497a378758ebbe4ca78f085282 (patch) | |
tree | b6b2ca73a05f40b5d43c1d7265388081d919a85c /winsup/cygwin | |
parent | 84ff8d9477fa9d2a9770c5c812df0ba7ab282711 (diff) | |
download | newlib-fa279a583dd961497a378758ebbe4ca78f085282.zip newlib-fa279a583dd961497a378758ebbe4ca78f085282.tar.gz newlib-fa279a583dd961497a378758ebbe4ca78f085282.tar.bz2 |
Cygwin: resolver: Process options forward (not backwards)
Also, make sure the debug setting propagates to the parser of
the remainder of /etc/resolv.conf
Diffstat (limited to 'winsup/cygwin')
-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 0cf9efd..fdc6087 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); |