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 e4bf52f803fd8de70f2c128d7b73a024488eb38f..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\nQueries the nameserver for the IP address of the given HOST\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", "default");
-
fprintf(dst,
"Address: %s\n\n", "default");
+
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])
? "Addresses: " : "Address: ";
{
int i, j;
char *addr_string = (h_addr_list[1])
? "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,
"*** Unknown host\n");
+
printf(
"*** Unknown host\n");
}
return host;
}
}
return host;
}
@@
-160,17
+157,17
@@
int nslookup_main(int argc, char **argv)
struct hostent *host;
if (argc < 2 || *argv[1]=='-') {
struct hostent *host;
if (argc < 2 || *argv[1]=='-') {
-
usage(nslookup_usage
);
+
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
);
-
exit( TRUE)
;
+ hostent_fprint(host);
+
return EXIT_SUCCESS
;
}
}
-/* $Id: nslookup.c,v 1.
8 2000/05/02 00:07:56 erik
Exp $ */
+/* $Id: nslookup.c,v 1.
22 2001/02/20 06:14:08 andersen
Exp $ */