diff options
author | sobomax <sobomax@FreeBSD.org> | 2002-08-29 12:52:28 +0000 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2002-08-29 12:52:28 +0000 |
commit | 1b5413df630ad344a5a866e4f975d1a6ecc97b6b (patch) | |
tree | bf6fa5bf3cde5d37361cdaf648e7b799b38c9f19 /usr.sbin/gifconfig/gifconfig.c | |
parent | f3872b5db52561c99009ec5d27daca1d178a656d (diff) | |
download | FreeBSD-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.c | 5 |
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); } |