DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T f

⟦3db58ce0b⟧ TextFile

    Length: 37093 (0x90e5)
    Types: TextFile
    Names: »fix-03«

Derivation

└─⟦276d19d6e⟧ Bits:30007243 EUUGD5_I: X11R5
    └─⟦this⟧ »./fixes/fix-03« 

TextFile

		      Release 5 Public Patch #3
			   MIT X Consortium

To apply this patch:

cd to the top of the source tree (to the directory containing the "mit"
and "contrib" subdirectories) and do:
	patch -p -s < ThisFile
Patch will work silently unless an error occurs.
If you want to watch patch do its thing, leave out the "-s" argument to patch.

Finally, to rebuild after applying this patch, cd to the "mit" subdirectory
and do:
	make Everything >& every.log
Note: this will *not* "clean" your tree.

Brief notes on what this patch fixes:

config: make more cpp's happy with imake files
libs: debugged libraries not installed correctly
Xlib: XrmMergeDatabases handles some cases incorrectly
Xlib: XcmsStoreColor can incorrectly modify its argument
Xlib: fix Xsi handling of invalid wchar strings
Xmu: String To Shape converter should always update toVal->size
xdm: need to use sigjmp_buf for POSIX
xterm: more SunOS install-time linking nonsense
fontlib: compute Speedo accelerators
server: correct symlink install of "X" on Ultrix 4.1
server: software cursor dissappears after nonblanking screen saver
server: certain zero-width dashed arcs crash the server
mipsddx: blanking broken for MIPS RS2030

Prereq: public-patch-2

*** /tmp/,RCSt1a03391	Sun Sep 22 12:23:14 1991
--- mit/bug-report	Sun Sep 22 12:17:05 1991
***************
*** 2,8 ****
  Subject: [area]: [synopsis]   [replace with actual area and short description]
  
  VERSION:
!     R5, public-patch-2
      [MIT public patches will edit this line to indicate the patch level]
  
  CLIENT MACHINE and OPERATING SYSTEM:
--- 2,8 ----
  Subject: [area]: [synopsis]   [replace with actual area and short description]
  
  VERSION:
!     R5, public-patch-3
      [MIT public patches will edit this line to indicate the patch level]
  
  CLIENT MACHINE and OPERATING SYSTEM:

*** /tmp/,RCSt1a01148	Mon Sep 16 17:42:14 1991
--- mit/config/Imake.tmpl	Mon Sep 16 08:53:11 1991
***************
*** 7,13 ****
  #endif
  XCOMM -------------------------------------------------------------------------
  XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
! XCOMM $XConsortium: Imake.tmpl,v 1.138 91/07/30 14:59:20 rws Exp $
  XCOMM
  XCOMM Platform-specific parameters may be set in the appropriate <vendor>.cf
  XCOMM configuration files.  Site-specific parameters should be set in the file
--- 7,13 ----
  #endif
  XCOMM -------------------------------------------------------------------------
  XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
! XCOMM $XConsortium: Imake.tmpl,v 1.139 91/09/16 08:52:48 rws Exp $
  XCOMM
  XCOMM Platform-specific parameters may be set in the appropriate <vendor>.cf
  XCOMM configuration files.  Site-specific parameters should be set in the file
***************
*** 279,287 ****
   */
  #ifndef Concat
  #if __STDC__ && !defined(UnixCpp)
! #define Concat(a,b) a##b
  #else
! #define Concat(a,b) a/**/b
  #endif
  #endif
  
--- 279,287 ----
   */
  #ifndef Concat
  #if __STDC__ && !defined(UnixCpp)
! #define Concat(a,b)a##b
  #else
! #define Concat(a,b)a/**/b
  #endif
  #endif
  
***************
*** 290,298 ****
   */
  #ifndef Concat3
  #if __STDC__ && !defined(UnixCpp)
! #define Concat3(a,b,c) a##b##c
  #else
! #define Concat3(a,b,c) a/**/b/**/c
  #endif
  #endif
  
--- 290,298 ----
   */
  #ifndef Concat3
  #if __STDC__ && !defined(UnixCpp)
! #define Concat3(a,b,c)a##b##c
  #else
! #define Concat3(a,b,c)a/**/b/**/c
  #endif
  #endif
  

*** /tmp/,RCSt1a03348	Sun Sep 22 12:05:53 1991
--- mit/config/Imake.rules	Mon Sep 16 20:12:30 1991
***************
*** 1,6 ****
  XCOMM -------------------------------------------------------------------------
  XCOMM Imake rules for building libraries, programs, scripts, and data files
! XCOMM rules:  $XConsortium: Imake.rules,v 1.121 91/08/22 16:32:50 rws Exp $
  
  /*
   *		   MACHINE-INDEPENDENT RULES; DO NOT MODIFY
--- 1,6 ----
  XCOMM -------------------------------------------------------------------------
  XCOMM Imake rules for building libraries, programs, scripts, and data files
! XCOMM rules:  $XConsortium: Imake.rules,v 1.123 91/09/16 20:12:16 rws Exp $
  
  /*
   *		   MACHINE-INDEPENDENT RULES; DO NOT MODIFY
***************
*** 115,132 ****
   * InstallFontAliases		(dest)
   * FontSrc			(basename)
   * FontBaseObj			(basename)
-  * FontBaseObj			(basename)
   * InstallFontScale		(dest)
-  * FontSrc			(basename)
-  * FontBaseObj			(basename)
-  * FontBaseObj			(basename)
   * UncompressedFontTarget	(basename)
   * UncompressedFontTarget	(basename)
   * CompressedFontTarget		(basename)
   * FontTarget			(basename)
   * FontObj			(basename)
-  * FontTarget			(basename)
-  * FontObj			(basename)
   * AllTarget			(depends)
   *
   *
--- 115,126 ----
***************
*** 1438,1449 ****
  	$(INSTALL) -c $(INSTDATFLAGS) fonts.alias $(DESTDIR)dest
  #endif /* InstallFontAliases */
  
  #define FontSrc(basename) basename.bdf
  #ifdef SnfFonts
! #define FontBaseObj(basename) basename.snf
  #else
! #define FontBaseObj(basename) basename.pcf
  #endif
  
  /*
   * InstallFontScale - generate rules to install font scale database.
--- 1432,1448 ----
  	$(INSTALL) -c $(INSTDATFLAGS) fonts.alias $(DESTDIR)dest
  #endif /* InstallFontAliases */
  
+ #ifndef FontSrc
  #define FontSrc(basename) basename.bdf
+ #endif
+ 
+ #ifndef FontBaseObj
  #ifdef SnfFonts
! #define FontBaseObj(basename)basename.snf
  #else
! #define FontBaseObj(basename)basename.pcf
  #endif
+ #endif
  
  /*
   * InstallFontScale - generate rules to install font scale database.
***************
*** 1454,1466 ****
  	MakeDir($(DESTDIR)dest)						@@\
  	$(INSTALL) -c $(INSTDATFLAGS) fonts.scale $(DESTDIR)dest
  #endif /* InstallFontScale */
- 
- #define FontSrc(basename) basename.bdf
- #ifdef SnfFonts
- #define FontBaseObj(basename) basename.snf
- #else
- #define FontBaseObj(basename) basename.pcf
- #endif
  
  /*
   * UncompressedFontTarget
--- 1453,1458 ----

*** /tmp/,RCSt1a05544	Wed Sep 18 14:30:34 1991
--- mit/lib/Xaw/Imakefile	Wed Sep 18 14:28:31 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.77 91/07/17 00:42:21 gildea Exp $
  #define DoNormalLib NormalLibXaw
  #define DoSharedLib SharedLibXaw
  #define DoDebugLib DebugLibXaw
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.78 91/09/18 14:28:23 rws Exp $
  #define DoNormalLib NormalLibXaw
  #define DoSharedLib SharedLibXaw
  #define DoDebugLib DebugLibXaw
***************
*** 192,198 ****
  #endif
  #if DoDebugLib
  DebuggedLibraryTarget(Xaw,$(OBJS))
! InstallLibrary(Xaw_g,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(Xaw,$(SRCS))
--- 192,198 ----
  #endif
  #if DoDebugLib
  DebuggedLibraryTarget(Xaw,$(OBJS))
! InstallLibrary(Xaw_d,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(Xaw,$(SRCS))

*** /tmp/,RCSt1a05549	Wed Sep 18 14:30:43 1991
--- mit/lib/Xdmcp/Imakefile	Wed Sep 18 14:28:59 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.18 91/07/23 22:28:05 keith Exp $
  #define DoNormalLib NormalLibXdmcp
  #define DoSharedLib SharedLibXdmcp
  #define DoDebugLib DebugLibXdmcp
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.19 91/09/18 14:28:52 rws Exp $
  #define DoNormalLib NormalLibXdmcp
  #define DoSharedLib SharedLibXdmcp
  #define DoDebugLib DebugLibXdmcp
***************
*** 119,125 ****
  #endif
  #if DoDebugLib
  DebuggedLibraryTarget(Xdmcp,$(OBJS))
! InstallLibrary(Xdmcp_g,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(Xdmcp,$(SRCS))
--- 119,125 ----
  #endif
  #if DoDebugLib
  DebuggedLibraryTarget(Xdmcp,$(OBJS))
! InstallLibrary(Xdmcp_d,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(Xdmcp,$(SRCS))

*** /tmp/,RCSt1a05554	Wed Sep 18 14:30:48 1991
--- mit/lib/Xmu/Imakefile	Wed Sep 18 14:29:16 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.72 91/07/30 15:29:17 rws Exp $
  XCOMM
  XCOMM This library contains miscellaneous utility routines and is not part
  XCOMM of the Xlib standard.
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.73 91/09/18 14:29:12 rws Exp $
  XCOMM
  XCOMM This library contains miscellaneous utility routines and is not part
  XCOMM of the Xlib standard.
***************
*** 177,183 ****
  #endif
  #if DoDebugLib
  DebuggedLibraryTarget(Xmu,$(OBJS))
! InstallLibrary(Xmu_g,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(Xmu,$(SRCS))
--- 177,183 ----
  #endif
  #if DoDebugLib
  DebuggedLibraryTarget(Xmu,$(OBJS))
! InstallLibrary(Xmu_d,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(Xmu,$(SRCS))

*** /tmp/,RCSt1a05559	Wed Sep 18 14:30:55 1991
--- mit/lib/Xt/Imakefile	Wed Sep 18 14:29:29 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.92 91/09/09 18:26:35 rws Exp $
  #define DoNormalLib NormalLibXt
  #define DoSharedLib SharedLibXt
  #define DoDebugLib DebugLibXt
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.93 91/09/18 14:29:25 rws Exp $
  #define DoNormalLib NormalLibXt
  #define DoSharedLib SharedLibXt
  #define DoDebugLib DebugLibXt
***************
*** 202,208 ****
  #endif
  #if DebugLibXt
  DebuggedLibraryTarget(Xt,$(OBJS))
! InstallLibrary(Xt_g,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(Xt,$(SRCS))
--- 202,208 ----
  #endif
  #if DebugLibXt
  DebuggedLibraryTarget(Xt,$(OBJS))
! InstallLibrary(Xt_d,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(Xt,$(SRCS))

*** /tmp/,RCSt1a05564	Wed Sep 18 14:31:01 1991
--- mit/lib/oldX/Imakefile	Wed Sep 18 14:29:44 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.20 91/07/16 22:43:15 gildea Exp $
  #define DoNormalLib NormalOldLibX
  #define DoSharedLib SharedOldLibX
  #define DoDebugLib DebugOldLibX
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.21 91/09/18 14:29:40 rws Exp $
  #define DoNormalLib NormalOldLibX
  #define DoSharedLib SharedOldLibX
  #define DoDebugLib DebugOldLibX
***************
*** 46,52 ****
  #endif
  #if DoDebugLib
  DebuggedLibraryTarget(oldX,$(OBJS))
! InstallLibrary(oldX_g,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(oldX,*.c)
--- 46,52 ----
  #endif
  #if DoDebugLib
  DebuggedLibraryTarget(oldX,$(OBJS))
! InstallLibrary(oldX_d,$(USRLIBDIR))
  #endif
  
  LintLibraryTarget(oldX,*.c)

*** /tmp/,RCSt1a00968	Sat Sep 21 21:43:32 1991
--- mit/lib/X/Xrm.c	Sat Sep 21 21:41:11 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: Xrm.c,v 1.68 91/07/15 15:21:45 rws Exp $
   */
  
  /***********************************************************
--- 1,5 ----
  /*
!  * $XConsortium: Xrm.c,v 1.69 91/09/21 21:39:28 rws Exp $
   */
  
  /***********************************************************
***************
*** 664,670 ****
  	    while (tentry && tentry->name == fentry->name) {
  		/* if tentry is earlier, skip it */
  		if ((fentry->leaf && !tentry->leaf) ||
! 		    (!fentry->tight && tentry->tight)) {
  		    tentry = *(prev = &tentry->next);
  		    continue;
  		}
--- 664,671 ----
  	    while (tentry && tentry->name == fentry->name) {
  		/* if tentry is earlier, skip it */
  		if ((fentry->leaf && !tentry->leaf) ||
! 		    (!fentry->tight && tentry->tight &&
! 		     (fentry->leaf || !tentry->leaf))) {
  		    tentry = *(prev = &tentry->next);
  		    continue;
  		}

*** /tmp/,RCSt1a01814	Sat Sep 21 22:27:58 1991
--- mit/lib/X/XcmsStCol.c	Sat Sep 21 21:49:46 1991
***************
*** 1,4 ****
! /* $XConsortium: XcmsStCol.c,v 1.4 91/05/13 23:29:23 rws Exp $" */
  
  /*
   * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
--- 1,4 ----
! /* $XConsortium: XcmsStCol.c,v 1.5 91/09/21 21:49:25 rws Exp $" */
  
  /*
   * Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
***************
*** 73,79 ****
  {
      XcmsColor tmpColor;
  
!     bcopy((char *)pColor_in, (char *)&tmpColor, (unsigned) sizeof(XcmsColor));
      return(_XcmsSetGetColors (XStoreColor, dpy, colormap,
! 	    pColor_in, 1, XcmsRGBFormat, (Bool *) NULL));
  }
--- 73,79 ----
  {
      XcmsColor tmpColor;
  
!     tmpColor = *pColor_in;
      return(_XcmsSetGetColors (XStoreColor, dpy, colormap,
! 			      &tmpColor, 1, XcmsRGBFormat, (Bool *) NULL));
  }

*** /tmp/,RCSt1a06279	Wed Sep 18 16:30:22 1991
--- mit/lib/X/Xsi/XCnvCTToWC.c	Wed Sep 18 16:29:48 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: XCnvCTToWC.c,v 1.19 91/06/26 11:17:05 rws Exp $
   */
  
  /*
--- 1,5 ----
  /*
!  * $XConsortium: XCnvCTToWC.c,v 1.20 91/09/18 16:29:28 rws Exp $
   */
  
  /*
***************
*** 157,163 ****
  		    int ret;
  		    if((ret = _XConvertCTextToWC(xlocale, ct_str, ct_bytes,
  					    wc_str, &tmplen, &len)) < 0)
! 		    Return(ret);
  		    wc_str += tmplen;
  		    wcnt +=tmplen;
  		    ct_str += len, ct_bytes -= len, ctcnt += len;
--- 157,163 ----
  		    int ret;
  		    if((ret = _XConvertCTextToWC(xlocale, ct_str, ct_bytes,
  					    wc_str, &tmplen, &len)) < 0)
! 			Return(ret);
  		    wc_str += tmplen;
  		    wcnt +=tmplen;
  		    ct_str += len, ct_bytes -= len, ctcnt += len;
***************
*** 289,297 ****
          /*
           * filter control characters. 
          */
- 	/* kuri 91/1/24
-         if (_Xiswcntrl(wc) || wc == WCHARSPACE) {
- 	*/
          if (_Xiswcntrl(wc)) {
              SaveStore(_Xwctoa(wc));
              wc_str++, wc_len--, wcnt++;
--- 289,294 ----
***************
*** 298,303 ****
--- 295,302 ----
              continue;
          }
          _XcwGetAll(xlocale, wc, &esc, &woffset, &stateinfo);
+ 	if (woffset == 0)
+ 	    Return (BadEncoding);
          if ((ctGLorGR = ctGetGLorGR(xlocale)) == GL &&
  		ctGetGLid(xlocale) != (state_sv & 0xff) ||
  	    ctGLorGR == GR &&
***************
*** 317,324 ****
           * remainning buffer length of ct_str.
          */
          crctcnt = limit - ctcnt;
!         if ((ret = _XwcDecomposeGlyphCharset(xlocale, wc_str, wc_len, ct_str, &crctcnt,
!                 &crwcnt, (int *)NULL)) < 0)
              Return(ret);
  	if (ct_str_sv) {
  	    *ct_str_sv++ = (crctcnt + len_sv) / 128 + 128;
--- 316,323 ----
           * remainning buffer length of ct_str.
          */
          crctcnt = limit - ctcnt;
!         if ((ret = _XwcDecomposeGlyphCharset(xlocale, wc_str, wc_len, ct_str,
! 		&crctcnt, &crwcnt, (int *)NULL)) < 0)
              Return(ret);
  	if (ct_str_sv) {
  	    *ct_str_sv++ = (crctcnt + len_sv) / 128 + 128;

*** /tmp/,RCSt1a06279	Wed Sep 18 16:30:24 1991
--- mit/lib/X/Xsi/XCnvWCToMB.c	Wed Sep 18 16:29:53 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: XCnvWCToMB.c,v 1.19 91/06/26 11:01:54 rws Exp $
   */
  
  /*
--- 1,5 ----
  /*
!  * $XConsortium: XCnvWCToMB.c,v 1.20 91/09/18 16:29:48 rws Exp $
   */
  
  /*
***************
*** 296,302 ****
--- 296,306 ----
              continue;
          }
  	ctid = _XcwGetWoffset(*wc_str, &newwoffset);
+ 	if(ctid == ND)
+ 	    Return(BadEncoding);
  	newcsid = _Xmbctidtocsid(xlocale, ctid);
+ 	if(newcsid == ND)
+ 	    Return(BadEncoding);
  	_XmbSetCsid(xlocale, newcsid);
          if (csid_sv != newcsid) {
  	    int mbGLorGR;

*** /tmp/,RCSt1a06279	Wed Sep 18 16:30:27 1991
--- mit/lib/X/Xsi/XInitCT.c	Wed Sep 18 16:29:58 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: XInitCT.c,v 1.15 91/06/26 10:54:58 rws Exp $
   */
  
  /*
--- 1,5 ----
  /*
!  * $XConsortium: XInitCT.c,v 1.16 91/09/18 16:29:54 rws Exp $
   */
  
  /*
***************
*** 546,556 ****
      _CSID			ind, i;
      _CSID 			n = ISOStateTableNum;
  
! #define PosSub(s1, s2) ((s1 >= s2) ? (s1 - s2) : -1)
  
      *woffset = ptr->state_woffset;
      ind = CODESET0;
      disp_min = PosSub(wc, ptr->state_woffset);
      if (disp_min < 0x80)
  	return(CODESET0);
      for (i = 1, ptr++; i < n; i++, ptr++) {
--- 546,560 ----
      _CSID			ind, i;
      _CSID 			n = ISOStateTableNum;
  
! #define PosSub(s1, s2) ((s1 >= s2) ? (s1 - s2) : ~0L)
  
      *woffset = ptr->state_woffset;
      ind = CODESET0;
      disp_min = PosSub(wc, ptr->state_woffset);
+     if (disp_min == (wchar) ~0L) {
+ 	*woffset = 0;
+ 	return(ND);
+     }
      if (disp_min < 0x80)
  	return(CODESET0);
      for (i = 1, ptr++; i < n; i++, ptr++) {
***************
*** 603,608 ****
--- 607,614 ----
      _CSID		id;
  
      id = _XcwGetWoffset(wc, woffset);
+     if(id == ND)
+ 	return;
  
      ctSetGLorGR(xlocale, ISOStateTable[id].GLorGR);
      ctSetid(xlocale, id);
***************
*** 619,624 ****
--- 625,632 ----
      _CSID	id;
  
      id = _XcwGetWoffset(wc, &woffset);
+     if(id == ND)
+ 	return(-1);
  
      return (ISOStateTable[id].state_length);
  }
***************
*** 633,638 ****
--- 641,648 ----
      _CSID	id;
  
      id = _XcwGetWoffset(wc, &woffset);
+     if(id == ND)
+ 	return;
      
      if (ISOStateTable[id].GLorGR == GL)
  	ctSetGLid(xlocale, id);
***************
*** 649,654 ****
--- 659,666 ----
      _CSID	id;
  
      id = _XcwGetWoffset(wc, &woffset);
+     if(id == ND)
+ 	return;
  
      *state_encoding = ISOStateTable[id].nstate_encoding;
  }

*** /tmp/,RCSt1a06279	Wed Sep 18 16:30:30 1991
--- mit/lib/X/Xsi/XlcAccess.c	Wed Sep 18 16:30:03 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: XlcAccess.c,v 1.20 91/05/09 09:19:01 rws Exp $
   */
  
  /*
--- 1,5 ----
  /*
!  * $XConsortium: XlcAccess.c,v 1.21 91/09/18 16:29:59 rws Exp $
   */
  
  /*
***************
*** 57,64 ****
      XLocale	xlocale;
      _CSID	csid;
  {
      if (!xlocale) xlocale = _XFallBackConvert();
!     return (xlocale->xlc_db->lc_fontset->fs_cset[csid]->cs_id);
  }
  
  _CSID
--- 57,67 ----
      XLocale	xlocale;
      _CSID	csid;
  {
+     Fontset    *flist;
      if (!xlocale) xlocale = _XFallBackConvert();
!     flist = xlocale->xlc_db->lc_fontset;
!     return ((int)csid >= flist->fs_num) ? ND:
! 	       flist->fs_cset[csid]->cs_id;
  }
  
  _CSID
***************
*** 248,253 ****
--- 251,258 ----
  	csid = (xlocale->mb_state & 0xff00) >> 8;
      else				/* GL */
  	csid = xlocale->mb_state & 0xff;
+     if (csid >= codeset->cds_num)
+ 	return (BadEncoding);
  
      cds_cnvindex = codeset->cds_cnvindex;
      cds_cnvlist = codeset->cds_cnvlist;
***************
*** 306,311 ****
--- 311,319 ----
  
      codeset = xlocale->xlc_db->lc_codeset;
      csid = mbGetid(xlocale);
+ 
+     if (csid >= codeset->cds_num)
+ 	return (BadEncoding);
  
      cscode |= codeset->cs_offset[csid];
  
*** /tmp/,RCSt1a06279	Wed Sep 18 16:30:31 1991
--- mit/lib/X/Xsi/XwcDeGlyph.c	Wed Sep 18 16:30:06 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: XwcDeGlyph.c,v 1.12 91/04/02 15:12:00 rws Exp $
   */
  
  /*
--- 1,5 ----
  /*
!  * $XConsortium: XwcDeGlyph.c,v 1.13 91/09/18 16:30:03 rws Exp $
   */
  
  /*
***************
*** 96,106 ****
  	}
  	if (woffset == MAGIC_NUMBER) {
      	    _XcwGetAll(xlocale, wc, &esc, &woffset, &stateinfo);
  	    if (ctid != NULL)
  		*ctid = ctGetid(xlocale);
  	    newwoffset = woffset;
  	} else 
!             _XcwGetWoffset(wc, &newwoffset);	/* MUST not change Status */
  	if (woffset != newwoffset)
  	    break;
          code = wc - woffset;
--- 96,109 ----
  	}
  	if (woffset == MAGIC_NUMBER) {
      	    _XcwGetAll(xlocale, wc, &esc, &woffset, &stateinfo);
+ 	    if (woffset == 0)
+ 		Return(BadEncoding);
  	    if (ctid != NULL)
  		*ctid = ctGetid(xlocale);
  	    newwoffset = woffset;
  	} else 
!             if(_XcwGetWoffset(wc, &newwoffset) == ND) /* MUST not change Status */
! 		Return(BadEncoding);
  	if (woffset != newwoffset)
  	    break;
          code = wc - woffset;

*** /tmp/,RCSt1a07357	Wed Sep 18 14:43:27 1991
--- mit/lib/Xmu/StrToShap.c	Wed Sep 18 14:24:57 1991
***************
*** 1,4 ****
! /* $XConsortium: StrToShap.c,v 1.3 90/12/20 13:36:01 converse Exp $ */
  
  /* 
   * Copyright 1988 by the Massachusetts Institute of Technology
--- 1,4 ----
! /* $XConsortium: StrToShap.c,v 1.4 91/09/18 14:23:52 converse Exp $ */
  
  /* 
   * Copyright 1988 by the Massachusetts Institute of Technology
***************
*** 32,40 ****
  	    else {						\
  		static type static_val;				\
  		static_val = (value);				\
- 		toVal->size = sizeof(type);			\
  		toVal->addr = (XtPointer)&static_val;		\
  	    }							\
  	    return True;					\
  	}
  
--- 32,40 ----
  	    else {						\
  		static type static_val;				\
  		static_val = (value);				\
  		toVal->addr = (XtPointer)&static_val;		\
  	    }							\
+ 	    toVal->size = sizeof(type);				\
  	    return True;					\
  	}
  

*** /tmp/,RCSt1a01406	Sat Sep 21 22:07:01 1991
--- mit/clients/xdm/dm.h	Thu Sep 19 16:28:44 1991
***************
*** 1,7 ****
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: dm.h,v 1.49 91/09/12 19:56:02 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: dm.h,v 1.51 91/09/19 16:28:35 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
***************
*** 323,331 ****
--- 323,333 ----
  #endif
  #define Setjmp(e)	setjmp(e)
  #define Longjmp(e,v)	longjmp(e,v)
+ #define Jmp_buf		jmp_buf
  #else
  #define Setjmp(e)   sigsetjmp(e,1)
  #define Longjmp(e,v)	siglongjmp(e,v)
+ #define Jmp_buf		sigjmp_buf
  #endif
  
  SIGVAL (*Signal())();

*** /tmp/,RCSt1a01512	Sat Sep 21 22:07:29 1991
--- mit/clients/xdm/reset.c	Thu Sep 19 16:26:04 1991
***************
*** 1,7 ****
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: reset.c,v 1.9 91/09/12 19:56:12 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: reset.c,v 1.10 91/09/19 16:26:03 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
***************
*** 63,69 ****
  	}
  }
  
! static jmp_buf	resetJmp;
  
  /* ARGSUSED */
  static SIGVAL
--- 63,69 ----
  	}
  }
  
! static Jmp_buf	resetJmp;
  
  /* ARGSUSED */
  static SIGVAL

*** /tmp/,RCSt1a01542	Sat Sep 21 22:07:39 1991
--- mit/clients/xdm/server.c	Thu Sep 19 16:26:02 1991
***************
*** 1,7 ****
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: server.c,v 1.16 91/09/12 19:56:09 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: server.c,v 1.17 91/09/19 16:26:01 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
***************
*** 132,138 ****
   * the sleep finishes, 0 else
   */
  
! static jmp_buf	pauseAbort;
  static int	serverPauseRet;
  
  /* ARGSUSED */
--- 132,138 ----
   * the sleep finishes, 0 else
   */
  
! static Jmp_buf	pauseAbort;
  static int	serverPauseRet;
  
  /* ARGSUSED */
***************
*** 223,229 ****
   * inside Xlib) and give up, terminating the server.
   */
  
! static jmp_buf	openAbort;
  
  /* ARGSUSED */
  static SIGVAL
--- 223,229 ----
   * inside Xlib) and give up, terminating the server.
   */
  
! static Jmp_buf	openAbort;
  
  /* ARGSUSED */
  static SIGVAL
***************
*** 346,352 ****
  	pseudoReset (dpy);
  }
  
! static jmp_buf	pingTime;
  
  static void
  PingLost ()
--- 346,352 ----
  	pseudoReset (dpy);
  }
  
! static Jmp_buf	pingTime;
  
  static void
  PingLost ()

*** /tmp/,RCSt1a01552	Sat Sep 21 22:07:42 1991
--- mit/clients/xdm/session.c	Thu Sep 19 16:25:58 1991
***************
*** 1,7 ****
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: session.c,v 1.54 91/09/12 19:55:51 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
--- 1,7 ----
  /*
   * xdm - display manager daemon
   *
!  * $XConsortium: session.c,v 1.55 91/09/19 16:25:56 keith Exp $
   *
   * Copyright 1988 Massachusetts Institute of Technology
   *
***************
*** 40,46 ****
  static struct greet_info	greet;
  static struct verify_info	verify;
  
! static jmp_buf	abortSession;
  
  /* ARGSUSED */
  static SIGVAL
--- 40,46 ----
  static struct greet_info	greet;
  static struct verify_info	verify;
  
! static Jmp_buf	abortSession;
  
  /* ARGSUSED */
  static SIGVAL
***************
*** 50,56 ****
      Longjmp (abortSession, 1);
  }
  
! static jmp_buf	pingTime;
  
  /* ARGSUSED */
  static SIGVAL
--- 50,56 ----
      Longjmp (abortSession, 1);
  }
  
! static Jmp_buf	pingTime;
  
  /* ARGSUSED */
  static SIGVAL
***************
*** 278,284 ****
      }
  }
  
! static jmp_buf syncJump;
  
  /* ARGSUSED */
  static SIGVAL
--- 278,284 ----
      }
  }
  
! static Jmp_buf syncJump;
  
  /* ARGSUSED */
  static SIGVAL
***************
*** 440,446 ****
      }
  }
  
! static jmp_buf	tenaciousClient;
  
  /* ARGSUSED */
  static SIGVAL
--- 440,446 ----
      }
  }
  
! static Jmp_buf	tenaciousClient;
  
  /* ARGSUSED */
  static SIGVAL

*** /tmp/,RCSt1a03353	Sun Sep 22 12:10:19 1991
--- mit/clients/xterm/Imakefile	Sun Sep 22 11:41:02 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.52 91/09/10 11:12:25 rws Exp $
  XCOMM
  XCOMM                         Attention xterm porters
  XCOMM
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.55 91/09/22 11:40:47 rws Exp $
  XCOMM
  XCOMM                         Attention xterm porters
  XCOMM
***************
*** 66,77 ****
  
  #if InstallXtermSetUID && defined(SunArchitecture) && HasSharedLibraries
  #if AlternateUsrLibDir
  LDOVERRIDE = -L$(DESTDIR)$(USRLIBDIR)
  #endif
  install:: xterm
  	MakeDir($(DESTDIR)$(BINDIR))
  	$(RM) xterm.inst
! 	cc -o xterm.inst $(OBJS1) $(LDOPTIONS) $(LDOVERRIDE) -lXaw -lXmu -lXt -lXext -lX11 $(LDLIBS) $(TERMCAPLIB) $(PTYLIB)
  	$(INSTALL) -c $(INSTPGMFLAGS) $(INSTUIDFLAGS) xterm.inst $(DESTDIR)$(BINDIR)/xterm
  	$(RM) xterm.inst
  #else
--- 66,86 ----
  
  #if InstallXtermSetUID && defined(SunArchitecture) && HasSharedLibraries
  #if AlternateUsrLibDir
+ #if OSMajorVersion > 4 || (OSMajorVersion == 4 && OSMinorVersion >= 1)
  LDOVERRIDE = -L$(DESTDIR)$(USRLIBDIR)
+ #else
+ #if HasGcc
+ LDOVERRIDE = -static -L$(DESTDIR)$(USRLIBDIR)
+ #else
+ LDOVERRIDE = -Bstatic -L$(DESTDIR)$(USRLIBDIR)
+ LDRESUME = -Bdynamic
  #endif
+ #endif
+ #endif
  install:: xterm
  	MakeDir($(DESTDIR)$(BINDIR))
  	$(RM) xterm.inst
! 	$(CC) -o xterm.inst $(OBJS1) $(LDOPTIONS) $(LDOVERRIDE) -lXaw -lXmu -lXt -lXext -lX11 $(LDRESUME) $(LDLIBS) $(TERMCAPLIB) $(PTYLIB) $(EXTRA_LOAD_FLAGS)
  	$(INSTALL) -c $(INSTPGMFLAGS) $(INSTUIDFLAGS) xterm.inst $(DESTDIR)$(BINDIR)/xterm
  	$(RM) xterm.inst
  #else

*** /tmp/,RCSt1a04845	Mon Sep 16 11:42:47 1991
--- mit/fonts/lib/font/Speedo/spfont.c	Mon Sep 16 11:42:29 1991
***************
*** 1,4 ****
! /* $XConsortium: spfont.c,v 1.12 91/07/22 22:59:38 keith Exp $ */
  /*
   * Copyright 1990, 1991 Network Computing Devices;
   * Portions Copyright 1987 by Digital Equipment Corporation and the
--- 1,4 ----
! /* $XConsortium: spfont.c,v 1.13 91/09/16 11:42:28 keith Exp $ */
  /*
   * Copyright 1990, 1991 Network Computing Devices;
   * Portions Copyright 1987 by Digital Equipment Corporation and the
***************
*** 753,758 ****
--- 753,761 ----
      }
      if (ret != Successful)
  	return ret;
+ 
+     /* compute remaining accelerators */
+     FontComputeInfoAccelerators (&pfont->info);
  
      pfont->format = format;
  
*** /tmp/,RCSt1a04845	Mon Sep 16 11:42:48 1991
--- mit/fonts/lib/font/Speedo/spfuncs.c	Mon Sep 16 11:42:31 1991
***************
*** 1,4 ****
! /* $XConsortium: spfuncs.c,v 1.4 91/07/16 20:18:44 keith Exp $ */
  /*
   * Copyright 1990, 1991 Network Computing Devices;
   * Portions Copyright 1987 by Digital Equipment Corporation and the
--- 1,4 ----
! /* $XConsortium: spfuncs.c,v 1.5 91/09/16 11:42:30 keith Exp $ */
  /*
   * Copyright 1990, 1991 Network Computing Devices;
   * Portions Copyright 1987 by Digital Equipment Corporation and the
***************
*** 86,91 ****
--- 86,94 ----
      compute_sp_bounds(spf, pinfo, (unsigned long) 0);
  
      compute_sp_props(spf, fontname, pinfo);
+ 
+     /* compute remaining accelerators */
+     FontComputeInfoAccelerators (pinfo);
  
      return Successful;
  }

*** /tmp/,RCSt1a04845	Mon Sep 16 11:42:49 1991
--- mit/fonts/lib/font/Speedo/spinfo.c	Mon Sep 16 11:42:33 1991
***************
*** 1,4 ****
! /* $XConsortium: spinfo.c,v 1.6 91/07/22 22:59:56 keith Exp $ */
  /*
   * Copyright 1990, 1991 Network Computing Devices;
   * Portions Copyright 1987 by Digital Equipment Corporation and the
--- 1,4 ----
! /* $XConsortium: spinfo.c,v 1.7 91/09/16 11:42:32 keith Exp $ */
  /*
   * Copyright 1990, 1991 Network Computing Devices;
   * Portions Copyright 1987 by Digital Equipment Corporation and the
***************
*** 104,115 ****
  
      /* XXX -- hackery here */
      pinfo->defaultCh = 0;
      pinfo->allExist = 0;
      pinfo->drawDirection = LeftToRight;
      pinfo->anamorphic = 0;
      if (spf->specs.xxmult != spf->specs.yymult)
  	pinfo->anamorphic = TRUE;
! 
      pixel_size = spf->vals.pixel * STRETCH_FACTOR / 100;
      pinfo->fontAscent = pixel_size * 764 / 1000;	/* 764 == EM_TOP */
      pinfo->fontDescent = pixel_size - pinfo->fontAscent;
--- 104,130 ----
  
      /* XXX -- hackery here */
      pinfo->defaultCh = 0;
+ /* computed by FontComputeInfoAccelerators:
+  *  noOverlap
+  *  constantMetrics
+  *  terminalFont
+  *  constantWidth
+  *  inkInside
+  */
+     pinfo->inkMetrics = 0;
      pinfo->allExist = 0;
      pinfo->drawDirection = LeftToRight;
+     pinfo->cachable = 1;
      pinfo->anamorphic = 0;
      if (spf->specs.xxmult != spf->specs.yymult)
  	pinfo->anamorphic = TRUE;
! /* computed by compute_sp_bounds:
!  *  maxOverlap
!  *  maxbounds
!  *  minbounds
!  *  ink_maxbounds
!  *  ink_minbounds
!  */
      pixel_size = spf->vals.pixel * STRETCH_FACTOR / 100;
      pinfo->fontAscent = pixel_size * 764 / 1000;	/* 764 == EM_TOP */
      pinfo->fontDescent = pixel_size - pinfo->fontAscent;
***************
*** 145,151 ****
  {
      int         i,
                  id,
!                 index;
      xCharInfo   minchar,
                  maxchar,
                  tmpchar;
--- 160,168 ----
  {
      int         i,
                  id,
!                 index,
! 		maxOverlap,
! 		overlap;
      xCharInfo   minchar,
                  maxchar,
                  tmpchar;
***************
*** 165,171 ****
  	maxchar.leftSideBearing = maxchar.rightSideBearing =
  	maxchar.characterWidth = -32767;
      maxchar.attributes = 0;
! 
      for (i = 0; i < spmf->num_chars; i++) {
  	index = spmf->enc[i * 2 + 1];
  	width = sp_get_char_width(index);
--- 182,188 ----
  	maxchar.leftSideBearing = maxchar.rightSideBearing =
  	maxchar.characterWidth = -32767;
      maxchar.attributes = 0;
!     maxOverlap = -32767;
      for (i = 0; i < spmf->num_chars; i++) {
  	index = spmf->enc[i * 2 + 1];
  	width = sp_get_char_width(index);
***************
*** 189,194 ****
--- 206,214 ----
  	tmpchar.characterWidth = (int) (pix_width + 0.5);	/* round */
  	tmpchar.attributes = 0;
  	adjust_min_max(&minchar, &maxchar, &tmpchar);
+ 	overlap = tmpchar.rightSideBearing - tmpchar.characterWidth;
+ 	if (maxOverlap < overlap)
+ 	    maxOverlap = overlap;
  
  	total_width += pix_width;
  
***************
*** 205,210 ****
--- 225,231 ----
      pinfo->minbounds = minchar;
      pinfo->ink_maxbounds = maxchar;
      pinfo->ink_minbounds = minchar;
+     pinfo->maxOverlap = maxOverlap;
  }
  
  void

*** /tmp/,RCSt1a03360	Sun Sep 22 12:12:03 1991
--- mit/server/Imakefile	Sun Sep 22 10:28:08 1991
***************
*** 1,4 ****
! XCOMM $XConsortium: Imakefile,v 1.133 91/07/26 20:55:42 rws Exp $
  /*
   * Server Master Makefile
   */
--- 1,4 ----
! XCOMM $XConsortium: Imakefile,v 1.135 91/09/22 10:27:51 rws Exp $
  /*
   * Server Master Makefile
   */
***************
*** 82,88 ****
--- 82,92 ----
  #endif
  
  #if XcfbpmaxServer
+ #if XmfbpmaxServer
  ALL2 = Xcfbpmax
+ #else
+ ALL1 = Xcfbpmax
+ #endif
  #endif
  
  #if XsunMonoServer

*** /tmp/,RCSt1a00316	Tue Sep 17 11:03:08 1991
--- mit/server/dix/window.c	Tue Sep 17 11:03:01 1991
***************
*** 22,28 ****
  
  ******************************************************************/
  
! /* $XConsortium: window.c,v 5.76 91/07/20 20:52:21 rws Exp $ */
  
  #include "X.h"
  #define NEED_REPLIES
--- 22,28 ----
  
  ******************************************************************/
  
! /* $XConsortium: window.c,v 5.77 91/09/17 11:02:41 keith Exp $ */
  
  #include "X.h"
  #define NEED_REPLIES
***************
*** 68,74 ****
  #define SCREEN_IS_TILED     2
  #define SCREEN_IS_BLACK	    3
  
! #define HasSaverWindow(v)   ((v) == SCREEN_IS_TILED || (v) == SCREEN_IS_BLACK)
  
  extern int ScreenSaverBlanking, ScreenSaverAllowExposures;
  int screenIsSaved = SCREEN_SAVER_OFF;
--- 68,74 ----
  #define SCREEN_IS_TILED     2
  #define SCREEN_IS_BLACK	    3
  
! #define HasSaverWindow(i)   (savedScreenInfo[i].pWindow != NullWindow)
  
  extern int ScreenSaverBlanking, ScreenSaverAllowExposures;
  int screenIsSaved = SCREEN_SAVER_OFF;
***************
*** 798,804 ****
  {
      if (!pWin->parent &&
  	(screenIsSaved == SCREEN_SAVER_ON) &&
! 	(HasSaverWindow (savedScreenInfo[pWin->drawable.pScreen->myNum].blanked)))
  	return (pWin->firstChild);
      else
  	return (NullWindow);
--- 798,804 ----
  {
      if (!pWin->parent &&
  	(screenIsSaved == SCREEN_SAVER_ON) &&
! 	(HasSaverWindow (pWin->drawable.pScreen->myNum)))
  	return (pWin->firstChild);
      else
  	return (NullWindow);
***************
*** 3936,3942 ****
      pReg = (* pScreen->RegionCreate)(NullBox, 1);
      if (pWin->parent ||
  	screenIsSaved != SCREEN_SAVER_ON ||
! 	!HasSaverWindow (savedScreenInfo[pWin->drawable.pScreen->myNum].blanked))
      {
  	(* pScreen->Intersect) (pReg, &pWin->borderClip, &pWin->winSize);
      }
--- 3936,3942 ----
      pReg = (* pScreen->RegionCreate)(NullBox, 1);
      if (pWin->parent ||
  	screenIsSaved != SCREEN_SAVER_ON ||
! 	!HasSaverWindow (pWin->drawable.pScreen->myNum))
      {
  	(* pScreen->Intersect) (pReg, &pWin->borderClip, &pWin->winSize);
      }
***************
*** 3995,4004 ****
  	       (* screenInfo.screens[i]->SaveScreen) (screenInfo.screens[i],
  						      what);
  	    }
!             else if (HasSaverWindow (savedScreenInfo[i].blanked))
  	    {
-     	        FreeResource(savedScreenInfo[i].wid, RT_NONE);
                  savedScreenInfo[i].pWindow = NullWindow;
  	    }
  	    continue;
          }
--- 3995,4004 ----
  	       (* screenInfo.screens[i]->SaveScreen) (screenInfo.screens[i],
  						      what);
  	    }
!             else if (HasSaverWindow (i))
  	    {
                  savedScreenInfo[i].pWindow = NullWindow;
+     	        FreeResource(savedScreenInfo[i].wid, RT_NONE);
  	    }
  	    continue;
          }

*** /tmp/,RCSt1a00750	Sat Sep 21 19:56:59 1991
--- mit/server/ddx/mi/mizerarc.c	Sat Sep 21 19:39:08 1991
***************
*** 17,23 ****
  
  ********************************************************/
  
! /* $XConsortium: mizerarc.c,v 5.30 91/08/26 10:28:30 rws Exp $ */
  
  /* Derived from:
   * "Algorithm for drawing ellipses or hyperbolae with a digital plotter"
--- 17,23 ----
  
  ********************************************************/
  
! /* $XConsortium: mizerarc.c,v 5.31 91/09/21 19:38:21 rws Exp $ */
  
  /* Derived from:
   * "Algorithm for drawing ellipses or hyperbolae with a digital plotter"
***************
*** 621,627 ****
      if (i == 5)
  	return;
      pt = startPts[i];
!     for (j = 4; startPts[j] == endPts[i]; j--)
  	;
      lastPt = endPts[j] - deltas[j];
      if ((pt->x == dinfo->endPt.x) && (pt->y == dinfo->endPt.y))
--- 621,627 ----
      if (i == 5)
  	return;
      pt = startPts[i];
!     for (j = 4; startPts[j] == endPts[j]; j--)
  	;
      lastPt = endPts[j] - deltas[j];
      if ((pt->x == dinfo->endPt.x) && (pt->y == dinfo->endPt.y))

*** /tmp/,RCSt1a02583	Sun Sep 22 10:52:46 1991
--- mit/server/ddx/mips/mips2030.h	Sun Sep 22 10:52:34 1991
***************
*** 1,5 ****
  /*
!  * $XConsortium: mips2030.h,v 1.2 91/07/18 22:57:58 keith Exp $
   *
   * Copyright 1991 MIPS Computer Systems, Inc.
   *
--- 1,5 ----
  /*
!  * $XConsortium: mips2030.h,v 1.3 91/09/22 10:52:13 rws Exp $
   *
   * Copyright 1991 MIPS Computer Systems, Inc.
   *
***************
*** 20,26 ****
   * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
   * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   */
! /* $Header: mips2030.h,v 1.2 91/07/18 22:57:58 keith Exp $ */
  #ifndef __DDX_MIPS2030_H
  #define	__DDX_MIPS2030_H
  
--- 20,26 ----
   * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
   * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   */
! /* $Header: mips2030.h,v 1.3 91/09/22 10:52:13 rws Exp $ */
  #ifndef __DDX_MIPS2030_H
  #define	__DDX_MIPS2030_H
  
***************
*** 59,67 ****
  	short intclr;		/* 0x0000 retrace interrupt clear */
  	char pad0[0x80 - 2];
  	short blank;		/* 0x0080 blank screen */
! 	char pad1[0x80 - 2];
! 	short unblank;		/* 0x0100 unblank screen */
! 	char pad2[0xff00 - 0x100 - 2];
  	struct bt458 ramdac;	/* 0xff00 RAMDAC */
  };
  
--- 59,67 ----
  	short intclr;		/* 0x0000 retrace interrupt clear */
  	char pad0[0x80 - 2];
  	short blank;		/* 0x0080 blank screen */
! 	char pad1[0x1000 - 0x80 - 2];
! 	short unblank;		/* 0x1000 unblank screen */
! 	char pad2[0xff00 - 0x1000 - 2];
  	struct bt458 ramdac;	/* 0xff00 RAMDAC */
  };