diff options
author | eric <> | 2012-07-29 19:51:36 +0000 |
---|---|---|
committer | eric <> | 2012-07-29 19:51:36 +0000 |
commit | 27e778b873a136bae1eed4d781f87719907f8250 (patch) | |
tree | 0a9d5ca5ce2843c50e979b3cad4f6e145f3a5832 /src/regress/lib/libc/asr | |
parent | f8a386ac14dcb1fa3e2d4e850165c453e758c793 (diff) | |
download | openbsd-27e778b873a136bae1eed4d781f87719907f8250.tar.gz openbsd-27e778b873a136bae1eed4d781f87719907f8250.tar.bz2 openbsd-27e778b873a136bae1eed4d781f87719907f8250.zip |
add a flag to choose between gethostbyname and gethostbyaddr
Diffstat (limited to 'src/regress/lib/libc/asr')
-rw-r--r-- | src/regress/lib/libc/asr/bin/gethostnamadr.c | 21 | ||||
-rw-r--r-- | src/regress/lib/libc/asr/regress.sh | 4 |
2 files changed, 13 insertions, 12 deletions
diff --git a/src/regress/lib/libc/asr/bin/gethostnamadr.c b/src/regress/lib/libc/asr/bin/gethostnamadr.c index 336c6b9db3..b1b3e331a7 100644 --- a/src/regress/lib/libc/asr/bin/gethostnamadr.c +++ b/src/regress/lib/libc/asr/bin/gethostnamadr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: gethostnamadr.c,v 1.1.1.1 2012/07/13 17:49:54 eric Exp $ */ | 1 | /* $OpenBSD: gethostnamadr.c,v 1.2 2012/07/29 19:51:36 eric Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2012 Eric Faurot <eric@openbsd.org> | 3 | * Copyright (c) 2012 Eric Faurot <eric@openbsd.org> |
4 | * | 4 | * |
@@ -40,14 +40,14 @@ usage(void) | |||
40 | int | 40 | int |
41 | main(int argc, char *argv[]) | 41 | main(int argc, char *argv[]) |
42 | { | 42 | { |
43 | int i, ch, isname, family = AF_INET; | 43 | int i, ch, aflag, family = AF_INET; |
44 | struct hostent *h; | 44 | struct hostent *h; |
45 | char *host; | 45 | char *host; |
46 | char addr[16]; | 46 | char addr[16]; |
47 | int addraf; | ||
48 | int addrlen; | 47 | int addrlen; |
49 | 48 | ||
50 | while((ch = getopt(argc, argv, "46e")) != -1) { | 49 | aflag = 0; |
50 | while((ch = getopt(argc, argv, "46ae")) != -1) { | ||
51 | switch(ch) { | 51 | switch(ch) { |
52 | case '4': | 52 | case '4': |
53 | family = AF_INET; | 53 | family = AF_INET; |
@@ -55,6 +55,9 @@ main(int argc, char *argv[]) | |||
55 | case '6': | 55 | case '6': |
56 | family = AF_INET6; | 56 | family = AF_INET6; |
57 | break; | 57 | break; |
58 | case 'a': | ||
59 | aflag = 1; | ||
60 | break; | ||
58 | case 'e': | 61 | case 'e': |
59 | long_err += 1; | 62 | long_err += 1; |
60 | break; | 63 | break; |
@@ -73,20 +76,18 @@ main(int argc, char *argv[]) | |||
73 | printf("===> \"%s\"\n", argv[i]); | 76 | printf("===> \"%s\"\n", argv[i]); |
74 | host = gethostarg(argv[i]); | 77 | host = gethostarg(argv[i]); |
75 | 78 | ||
76 | if (addr_from_str(addr, &addraf, &addrlen, argv[i]) == -1) | 79 | if (aflag && addr_from_str(addr, &family, &addrlen, host) == -1) |
77 | isname = 1; | 80 | errx(1, "bad address"); |
78 | else | ||
79 | isname = 0; | ||
80 | 81 | ||
81 | errno = 0; | 82 | errno = 0; |
82 | h_errno = 0; | 83 | h_errno = 0; |
83 | gai_errno = 0; | 84 | gai_errno = 0; |
84 | rrset_errno = 0; | 85 | rrset_errno = 0; |
85 | 86 | ||
86 | if (isname) | 87 | if (aflag == 0) |
87 | h = gethostbyname2(host, family); | 88 | h = gethostbyname2(host, family); |
88 | else | 89 | else |
89 | h = gethostbyaddr(addr, addrlen, addraf); | 90 | h = gethostbyaddr(addr, addrlen, family); |
90 | if (h) | 91 | if (h) |
91 | print_hostent(h); | 92 | print_hostent(h); |
92 | print_errors(); | 93 | print_errors(); |
diff --git a/src/regress/lib/libc/asr/regress.sh b/src/regress/lib/libc/asr/regress.sh index b4d1c1db59..ffd7595cba 100644 --- a/src/regress/lib/libc/asr/regress.sh +++ b/src/regress/lib/libc/asr/regress.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: regress.sh,v 1.1.1.1 2012/07/13 17:49:53 eric Exp $ | 1 | # $OpenBSD: regress.sh,v 1.2 2012/07/29 19:51:36 eric Exp $ |
2 | 2 | ||
3 | . regress.subr | 3 | . regress.subr |
4 | 4 | ||
@@ -40,7 +40,7 @@ test_gethostbyname() | |||
40 | test_gethostbyaddr() | 40 | test_gethostbyaddr() |
41 | { | 41 | { |
42 | for i in $@; do | 42 | for i in $@; do |
43 | regress gethostnamadr $i | 43 | regress gethostnamadr -a $i |
44 | done | 44 | done |
45 | } | 45 | } |
46 | 46 | ||