diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-05-02 17:12:23 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-05-02 17:12:23 -0400 |
commit | 4b70286ef1413bd870a93edc7d93e6d24b809e93 (patch) | |
tree | 8cbac697ca97a942d748d4735f5a77b03de0b541 /sample/dns-example.c | |
parent | 9fbfe9b94838cea245472b5619dc4a111fb0dd30 (diff) | |
parent | cecb111bcd9af40a14a456fb07e3be4059fd46f0 (diff) | |
download | libevent-4b70286ef1413bd870a93edc7d93e6d24b809e93.tar.gz |
Merge remote-tracking branch 'origin/patches-2.0'
Conflicts:
ChangeLog
README
evdns.c
sample/dns-example.c
Diffstat (limited to 'sample/dns-example.c')
-rw-r--r-- | sample/dns-example.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/sample/dns-example.c b/sample/dns-example.c index cb8d32ff..84988554 100644 --- a/sample/dns-example.c +++ b/sample/dns-example.c @@ -145,8 +145,9 @@ main(int c, char **v) { int reverse = 0, servertest = 0, use_getaddrinfo = 0; struct event_base *event_base = NULL; struct evdns_base *evdns_base = NULL; + const char *resolv_conf = NULL; if (c<2) { - fprintf(stderr, "syntax: %s [-x] [-v] hostname\n", v[0]); + fprintf(stderr, "syntax: %s [-x] [-v] [-c resolv.conf] hostname\n", v[0]); fprintf(stderr, "syntax: %s [-servertest]\n", v[0]); return 1; } @@ -160,7 +161,12 @@ main(int c, char **v) { use_getaddrinfo = 1; else if (!strcmp(v[idx], "-servertest")) servertest = 1; - else + else if (!strcmp(v[idx], "-c")) { + if (idx + 1 < c) + resolv_conf = v[++idx]; + else + fprintf(stderr, "-c needs an argument\n"); + } else fprintf(stderr, "Unknown option %s\n", v[idx]); ++idx; } @@ -197,11 +203,14 @@ main(int c, char **v) { if (idx < c) { int res; #ifdef _WIN32 - res = evdns_base_config_windows_nameservers(evdns_base); -#else - res = evdns_base_resolv_conf_parse(evdns_base, DNS_OPTION_NAMESERVERS, - "/etc/resolv.conf"); + if (resolv_conf == NULL) + res = evdns_base_config_windows_nameservers(evdns_base); + else #endif + res = evdns_base_resolv_conf_parse(evdns_base, + DNS_OPTION_NAMESERVERS, + resolv_conf ? resolv_conf : "/etc/resolv.conf"); + if (res < 0) { fprintf(stderr, "Couldn't configure nameservers"); return 1; |