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));
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to