summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2014-06-19 00:45:40 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-06-19 00:18:04 +0000
commit974a4f3e00861da9aa1301efd5c349c3e2a5cf07 (patch)
tree56a71ad0e22934ef5bffc1d865862199c20156d1
parent4924d10ae04574a15d94c6812153321af59a3e5b (diff)
parent9875ee97c7119f52fc6ce9f5e176e009faf9a753 (diff)
downloadsystem_core-974a4f3e00861da9aa1301efd5c349c3e2a5cf07.zip
system_core-974a4f3e00861da9aa1301efd5c349c3e2a5cf07.tar.gz
system_core-974a4f3e00861da9aa1301efd5c349c3e2a5cf07.tar.bz2
Merge "Use inet_ntoa to display ipaddr and mask values"
-rw-r--r--toolbox/ifconfig.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/toolbox/ifconfig.c b/toolbox/ifconfig.c
index 80c0e5c..b953176 100644
--- a/toolbox/ifconfig.c
+++ b/toolbox/ifconfig.c
@@ -61,11 +61,11 @@ int ifconfig_main(int argc, char *argv[])
{
struct ifreq ifr;
int s;
- unsigned int addr, mask, flags;
+ unsigned int flags;
char astring[20];
char mstring[20];
char *updown, *brdcst, *loopbk, *ppp, *running, *multi;
-
+
argc--;
argv++;
@@ -85,13 +85,17 @@ int ifconfig_main(int argc, char *argv[])
perror(ifr.ifr_name);
return -1;
} else
- addr = ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr;
+ strlcpy(astring,
+ inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr),
+ sizeof(astring));
if (ioctl(s, SIOCGIFNETMASK, &ifr) < 0) {
perror(ifr.ifr_name);
return -1;
} else
- mask = ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr;
+ strlcpy(mstring,
+ inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr),
+ sizeof(mstring));
if (ioctl(s, SIOCGIFFLAGS, &ifr) < 0) {
perror(ifr.ifr_name);
@@ -99,16 +103,6 @@ int ifconfig_main(int argc, char *argv[])
} else
flags = ifr.ifr_flags;
- sprintf(astring, "%d.%d.%d.%d",
- addr & 0xff,
- ((addr >> 8) & 0xff),
- ((addr >> 16) & 0xff),
- ((addr >> 24) & 0xff));
- sprintf(mstring, "%d.%d.%d.%d",
- mask & 0xff,
- ((mask >> 8) & 0xff),
- ((mask >> 16) & 0xff),
- ((mask >> 24) & 0xff));
printf("%s: ip %s mask %s flags [", ifr.ifr_name,
astring,
mstring