summaryrefslogtreecommitdiffstats
path: root/usr.sbin/gifconfig/gifconfig.c
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2002-08-29 12:52:28 +0000
committersobomax <sobomax@FreeBSD.org>2002-08-29 12:52:28 +0000
commit1b5413df630ad344a5a866e4f975d1a6ecc97b6b (patch)
treebf6fa5bf3cde5d37361cdaf648e7b799b38c9f19 /usr.sbin/gifconfig/gifconfig.c
parentf3872b5db52561c99009ec5d27daca1d178a656d (diff)
downloadFreeBSD-src-1b5413df630ad344a5a866e4f975d1a6ecc97b6b.zip
FreeBSD-src-1b5413df630ad344a5a866e4f975d1a6ecc97b6b.tar.gz
Correctly handle ifr.ifr_flags/ifr.ifr_flagshigh like ifconfig(8) does.
MFC after: 1 day
Diffstat (limited to 'usr.sbin/gifconfig/gifconfig.c')
-rw-r--r--usr.sbin/gifconfig/gifconfig.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/gifconfig/gifconfig.c b/usr.sbin/gifconfig/gifconfig.c
index b803236..e7fc1c0 100644
--- a/usr.sbin/gifconfig/gifconfig.c
+++ b/usr.sbin/gifconfig/gifconfig.c
@@ -454,14 +454,15 @@ setifflags(vname, value)
exit(1);
}
strncpy(ifr.ifr_name, name, sizeof (ifr.ifr_name));
- flags = ifr.ifr_flags;
+ flags = (ifr.ifr_flags & 0xffff) | (ifr.ifr_flagshigh << 16);
if (value < 0) {
value = -value;
flags &= ~value;
} else
flags |= value;
- ifr.ifr_flags = flags;
+ ifr.ifr_flags = flags & 0xffff;
+ ifr.ifr_flagshigh = flags >> 16;
if (ioctl(s, SIOCSIFFLAGS, (caddr_t)&ifr) < 0)
Perror(vname);
}
OpenPOWER on IntegriCloud