aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote-vx.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-04-27 17:27:24 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-04-27 17:27:24 +0000
commitebe8362f904531d0412cfe14394f1bae103b721b (patch)
tree2fcf16c88537a71fb6400b57a32eefbf17c56df4 /gdb/remote-vx.c
parent28fcc54f4ec0a9f2ee517ed0eb138e97e64b8c51 (diff)
downloadgdb-ebe8362f904531d0412cfe14394f1bae103b721b.zip
gdb-ebe8362f904531d0412cfe14394f1bae103b721b.tar.gz
gdb-ebe8362f904531d0412cfe14394f1bae103b721b.tar.bz2
* remote-vx.c (net_connect): Allow numeric IP address for host.
Diffstat (limited to 'gdb/remote-vx.c')
-rw-r--r--gdb/remote-vx.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/gdb/remote-vx.c b/gdb/remote-vx.c
index 9fc3e41..97605a9 100644
--- a/gdb/remote-vx.c
+++ b/gdb/remote-vx.c
@@ -843,15 +843,23 @@ net_connect (host)
{
struct sockaddr_in destAddr;
struct hostent *destHost;
+ unsigned long addr;
+
+ /* Get the internet address for the given host. Allow a numeric
+ IP address or a hostname. */
- /* get the internet address for the given host */
-
- if ((destHost = (struct hostent *) gethostbyname (host)) == NULL)
- error ("Invalid hostname. Couldn't find remote host address.");
+ addr = inet_addr (host);
+ if (addr == -1)
+ {
+ destHost = (struct hostent *) gethostbyname (host);
+ if (destHost == NULL)
+ error ("Invalid hostname. Couldn't find remote host address.");
+ addr = * (unsigned long *) destHost->h_addr;
+ }
bzero (&destAddr, sizeof (destAddr));
- destAddr.sin_addr.s_addr = * (u_long *) destHost->h_addr;
+ destAddr.sin_addr.s_addr = addr;
destAddr.sin_family = AF_INET;
destAddr.sin_port = 0; /* set to actual port that remote
ptrace is listening on. */