projects
/
oweals
/
busybox.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use perror_msg_and_die function where appropriate.
[oweals/busybox.git]
/
networking
/
nslookup.c
diff --git
a/networking/nslookup.c
b/networking/nslookup.c
index 15019e935e6c75156235c656fd7d1b4e9ed415c7..8791b5efee4aa66d998d52bc874b44863e65a3fc 100644
(file)
--- a/
networking/nslookup.c
+++ b/
networking/nslookup.c
@@
-2,7
+2,7
@@
/*
* Mini nslookup implementation for busybox
*
/*
* Mini nslookup implementation for busybox
*
- * Copyright (C)
2000
by Lineo, inc.
+ * Copyright (C)
1999,2000,2001
by Lineo, inc.
* Written by John Beppu <beppu@lineo.com>
*
* This program is free software; you can redistribute it and/or modify
* Written by John Beppu <beppu@lineo.com>
*
* This program is free software; you can redistribute it and/or modify
@@
-21,16
+21,17
@@
*
*/
*
*/
-#include "internal.h"
#include <ctype.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
+#include <stdlib.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
+#include "busybox.h"
/*
| I'm only implementing non-interactive mode;
/*
| I'm only implementing non-interactive mode;
@@
-41,21
+42,18
@@
| + find out how the real nslookup gets the default name server
*/
| + find out how the real nslookup gets the default name server
*/
-static const char nslookup_usage[] = "nslookup [HOST]\n\n";
-
-
/* I have to see how the real nslookup does this.
* I could dig through /etc/resolv.conf, but is there a
* better (programatic) way?
*/
/* I have to see how the real nslookup does this.
* I could dig through /etc/resolv.conf, but is there a
* better (programatic) way?
*/
-static
void server_fprint(FILE * dst
)
+static
inline void server_print(void
)
{
{
-
fprintf(dst, "Server: %s\n", "something
");
-
fprintf(dst, "Address: %s\n\n", "something
");
+
printf("Server: %s\n", "default
");
+
printf("Address: %s\n\n", "default
");
}
/* only works for IPv4 */
}
/* only works for IPv4 */
-static int addr_fprint(char *addr
, FILE * dst
)
+static int addr_fprint(char *addr)
{
u_int8_t split[4];
u_int32_t ip;
{
u_int8_t split[4];
u_int32_t ip;
@@
-66,8
+64,7
@@
static int addr_fprint(char *addr, FILE * dst)
split[1] = (ip & 0x00ff0000) >> 16;
split[2] = (ip & 0x0000ff00) >> 8;
split[3] = (ip & 0x000000ff);
split[1] = (ip & 0x00ff0000) >> 16;
split[2] = (ip & 0x0000ff00) >> 8;
split[3] = (ip & 0x000000ff);
- fprintf(dst, "%d.%d.%d.%d", split[0], split[1], split[2], split[3]
- );
+ printf("%d.%d.%d.%d", split[0], split[1], split[2], split[3]);
return 0;
}
return 0;
}
@@
-92,30
+89,30
@@
static u_int32_t str_to_addr(const char *addr)
/* takes the NULL-terminated array h_addr_list, and
* prints its contents appropriately
*/
/* takes the NULL-terminated array h_addr_list, and
* prints its contents appropriately
*/
-static int addr_list_fprint(char **h_addr_list
, FILE * dst
)
+static int addr_list_fprint(char **h_addr_list)
{
int i, j;
char *addr_string = (h_addr_list[1])
{
int i, j;
char *addr_string = (h_addr_list[1])
- ? "Addresses
" : "Address
";
+ ? "Addresses
: " : "Address:
";
-
fprintf(dst, "%s:
", addr_string);
+
printf("%s
", addr_string);
for (i = 0, j = 0; h_addr_list[i]; i++, j++) {
for (i = 0, j = 0; h_addr_list[i]; i++, j++) {
- addr_fprint(h_addr_list[i]
, dst
);
+ addr_fprint(h_addr_list[i]);
/* real nslookup does this */
if (j == 4) {
if (h_addr_list[i + 1]) {
/* real nslookup does this */
if (j == 4) {
if (h_addr_list[i + 1]) {
-
fprintf(dst,
"\n ");
+
printf(
"\n ");
}
j = 0;
} else {
if (h_addr_list[i + 1]) {
}
j = 0;
} else {
if (h_addr_list[i + 1]) {
-
fprintf(dst,
", ");
+
printf(
", ");
}
}
}
}
}
}
-
fprintf(dst,
"\n");
+
printf(
"\n");
return 0;
}
return 0;
}
@@
-129,13
+126,13
@@
static struct hostent *gethostbyaddr_wrapper(const char *address)
}
/* print the results as nslookup would */
}
/* print the results as nslookup would */
-static struct hostent *hostent_fprint(struct hostent *host
, FILE * dst
)
+static struct hostent *hostent_fprint(struct hostent *host)
{
if (host) {
{
if (host) {
-
fprintf(dst, "Name:
%s\n", host->h_name);
- addr_list_fprint(host->h_addr_list
, dst
);
+
printf("Name:
%s\n", host->h_name);
+ addr_list_fprint(host->h_addr_list);
} else {
} else {
-
fprintf(dst, "*** %s\n", hstrerror(h_errno)
);
+
printf("*** Unknown host\n"
);
}
return host;
}
}
return host;
}
@@
-159,18
+156,18
@@
int nslookup_main(int argc, char **argv)
{
struct hostent *host;
{
struct hostent *host;
- if (argc < 2) {
-
usage(nslookup_usage
);
+ if (argc < 2
|| *argv[1]=='-'
) {
+
show_usage(
);
}
}
- server_
fprint(stdout
);
+ server_
print(
);
if (is_ip_address(argv[1])) {
host = gethostbyaddr_wrapper(argv[1]);
} else {
host = gethostbyname(argv[1]);
}
if (is_ip_address(argv[1])) {
host = gethostbyaddr_wrapper(argv[1]);
} else {
host = gethostbyname(argv[1]);
}
- hostent_fprint(host
, stdout
);
- return
0
;
+ hostent_fprint(host);
+ return
EXIT_SUCCESS
;
}
}
-/* $Id: nslookup.c,v 1.
6 2000/04/13 01:18:56 erik
Exp $ */
+/* $Id: nslookup.c,v 1.
22 2001/02/20 06:14:08 andersen
Exp $ */