svn commit: r221079 - head/usr.bin/rlogin
John Baldwin
jhb at FreeBSD.org
Tue Apr 26 20:14:29 UTC 2011
Author: jhb
Date: Tue Apr 26 20:14:29 2011
New Revision: 221079
URL: http://svn.freebsd.org/changeset/base/221079
Log:
Generate the network byte order version of the window size structure in a
temporary variable on the stack and then copy that into the output buffer
so that the htons() conversions use aligned accesses.
MFC after: 1 month
Modified:
head/usr.bin/rlogin/rlogin.c
Modified: head/usr.bin/rlogin/rlogin.c
==============================================================================
--- head/usr.bin/rlogin/rlogin.c Tue Apr 26 19:52:21 2011 (r221078)
+++ head/usr.bin/rlogin/rlogin.c Tue Apr 26 20:14:29 2011 (r221079)
@@ -484,18 +484,18 @@ sigwinch(int signo __unused)
void
sendwindow(void)
{
- struct winsize *wp;
+ struct winsize ws;
char obuf[4 + sizeof (struct winsize)];
- wp = (struct winsize *)(obuf+4);
obuf[0] = 0377;
obuf[1] = 0377;
obuf[2] = 's';
obuf[3] = 's';
- wp->ws_row = htons(winsize.ws_row);
- wp->ws_col = htons(winsize.ws_col);
- wp->ws_xpixel = htons(winsize.ws_xpixel);
- wp->ws_ypixel = htons(winsize.ws_ypixel);
+ ws.ws_row = htons(winsize.ws_row);
+ ws.ws_col = htons(winsize.ws_col);
+ ws.ws_xpixel = htons(winsize.ws_xpixel);
+ ws.ws_ypixel = htons(winsize.ws_ypixel);
+ bcopy(&ws, obuf + 4, sizeof(ws));
(void)write(rem, obuf, sizeof(obuf));
}
More information about the svn-src-all
mailing list