info-mac@utcsrgv.UUCP (info-mac) (06/29/84)
Date: Wed, 27 Jun 84 16:37:45 pdt
From: Bill Croft <uw-beaver!croft@safe>
To: info-mac@sumex
Subject: SUMACC bug fixes
Cc: croft@SUMEX-AIM.ARPA, sumacc@sumex
Here are some SUMACC bug fixes.
This is an APPLE typo in the workshop; to agree with the manual,
the name is "HUnlock" not "HUnLock".
+ diff lib/libos.c- lib/libos.c
65c65
< void HUnLock(h) Handle h; { _macc1(RN,_hunlock,N,L) }
---
> void HUnlock(h) Handle h; { _macc1(RN,_hunlock,N,L) }
Another APPLE workshop typo.
+ diff h/toolintf.h- h/toolintf.h
458c458
< short scrapFiller;
---
> short scrapCount;
My typo.
+ diff h/quickdraw.h- h/quickdraw.h
226c226
< Handle rgnSafe;
---
> Handle rgnSave;
Wrong trap code in hex. Also, "Polyhandle *p" should read "Polyhandle p".
+ diff lib/libqd.c- lib/libqd.c
62c62
< void PenNormal() { _mact1(RN,0xa89d,N,N) }
---
> void PenNormal() { _mact1(RN,0xa89e,N,N) }
144,151c144,151
< void KillPoly(p) PolyHandle *p; { _mact1(RN,0xa8cd,N,L) }
< void OffsetPoly(p,dh,dv) PolyHandle *p; { _mact3(RN,0xa8ce,N,L,S,S) }
< void MapPoly(p,f,t) PolyHandle *p; Rect *f,*t; { _mact3(RN,0xa8fc,N,L,L,L) }
< void FramePoly(p) PolyHandle *p; { _mact1(RN,0xa8c6,N,L) }
< void PaintPoly(p) PolyHandle *p; { _mact1(RN,0xa8c7,N,L) }
< void ErasePoly(p) PolyHandle *p; { _mact1(RN,0xa8c8,N,L) }
< void InvertPoly(p) PolyHandle *p; { _mact1(RN,0xa8c9,N,L) }
< void FillPoly(p,pat) PolyHandle *p; Pattern *pat; { _mact2(RN,0xa8ca,N,L,L) }
---
> void KillPoly(p) PolyHandle p; { _mact1(RN,0xa8cd,N,L) }
> void OffsetPoly(p,dh,dv) PolyHandle p; { _mact3(RN,0xa8ce,N,L,S,S) }
> void MapPoly(p,f,t) PolyHandle p; Rect *f,*t; { _mact3(RN,0xa8fc,N,L,L,L) }
> void FramePoly(p) PolyHandle p; { _mact1(RN,0xa8c6,N,L) }
> void PaintPoly(p) PolyHandle p; { _mact1(RN,0xa8c7,N,L) }
> void ErasePoly(p) PolyHandle p; { _mact1(RN,0xa8c8,N,L) }
> void InvertPoly(p) PolyHandle p; { _mact1(RN,0xa8c9,N,L) }
> void FillPoly(p,pat) PolyHandle p; Pattern *pat; { _mact2(RN,0xa8ca,N,L,L) }
The array of ostype strings "t" should be a char *, instead of an int.
+ diff lib/libpack.c- lib/libpack.c
31c31
< void SFGetFile(p,pr,fil,nt,t,dlg,rep) Point *p; char *pr; ProcPtr fil,dlg; SFReply *rep; { _macc7(RN,_sfgetfil,N,SS,PS,L,S,L,L,L) }
---
> void SFGetFile(p,pr,fil,nt,t,dlg,rep) Point *p; char *pr,*t; ProcPtr fil,dlg; SFReply *rep; { _macc7(RN,_sfgetfil,N,SS,PS,L,S,L,L,L) }
33c33
< void SFPGetFile(p,pr,ff,nt,t,dlg,rep,dlgid,fp) Point *p; char *pr; ProcPtr ff,dlg,fp; SFReply *rep; { _macc9(RN,_sfpgetfi,N,SS,PS,L,S,L,L,L,S,L) }
---
> void SFPGetFile(p,pr,ff,nt,t,dlg,rep,dlgid,fp) Point *p; char *pr,*t; ProcPtr ff,dlg,fp; SFReply *rep; { _macc9(RN,_sfpgetfi,N,SS,PS,L,S,L,L,L,S,L) }
Since handle master pointers can be "negative", use another bit to indicate
"isapstr".
+ diff lib/mactrap.s- lib/mactrap.s
81,82c88,89
< bgts .L3 | if C string
< negl d1 | if Pascal string, just negate pointer
---
> bclr #24,d1 | test and clear
> beqs .L3 | if C string
+ diff lib/strconv.s- lib/strconv.s
80c80
< | If Mactrap is passed a negative string pointer, it assumes the
---
> | If Mactrap is passed a pointer with bit 24 set, it assumes the
87c87
< negl d0
---
> bset #24,d0
Thanks to Mike Schuster at CALTECH and Dan Winkler at Harvard!