Path: utzoo!attcan!uunet!ncrlnk!ncrcae!hubcap!gatech!bloom-beacon!expo.lcs.mit.EDU!jim From: jim@expo.lcs.mit.EDU (Jim Fulton) Newsgroups: comp.windows.x Subject: Re: "Sun 4 Xt error" Message-ID: <8810071529.AA01479@EXPO.LCS.MIT.EDU> Date: 7 Oct 88 15:29:35 GMT References: <8810071519.AA27168@ti.com> Sender: daemon@bloom-beacon.MIT.EDU Organization: X Consortium, MIT Laboratory for Computer Science Lines: 53 The problem probably arised from the XtBCopy, XtBZero, and XtBCmp macros in lib/Xt/IntrinsicI.h. If you change them as follows, things should work much better (i.e. I chased this same problem down with someone else): *** R2/IntrinsicI.h Fri Feb 26 12:41:24 1988 --- IntrinsicI.h Fri Oct 7 11:27:14 1988 *************** *** 40,67 **** extern void bcopy(); #define XtBCopy(src, dst, size) \ ! if (size == sizeof(int) && \ ! !((unsigned int) src & 0x3) && \ ! !((unsigned int) dst & 0x3)) \ ! *((int *) (dst)) = *((int *) (src)); \ ! else if (size == sizeof(char)) \ ! *((char *) (dst)) = *((char *) (src)); \ ! else \ ! bcopy((char *) (src), (char *) (dst), (int) (size)); extern void bzero(); #define XtBZero(dst, size) \ ! if (size == sizeof(int)) \ ! *((int *) (dst)) = 0; \ ! else \ ! bzero((char *) (dst), (int) (size)); extern int bcmp(); #define XtBCmp(b1, b2, size) \ ! (size == sizeof(int) ? \ ! *((int *) (b1)) != *((int *) (b2)) \ ! : bcmp((char *) (b1), (char *) (b2), (int) (size)) \ ! ) --- 40,54 ---- extern void bcopy(); #define XtBCopy(src, dst, size) \ ! bcopy((char *) (src), (char *) (dst), (int) (size)) extern void bzero(); #define XtBZero(dst, size) \ ! bzero((char *) (dst), (int) (size)) extern int bcmp(); #define XtBCmp(b1, b2, size) \ ! bcmp((char *) (b1), (char *) (b2), (int) (size))