3 * (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
5 * This product is part of the Amsterdam Compiler Kit.
7 * Permission to use, sell, duplicate or disclose this software must be
8 * obtained in writing. Requests for such permissions may be sent to
10 * Dr. Andrew S. Tanenbaum
11 * Wiskundig Seminarium
19 /* Author: J.W. Stevenson */
25 #define assert(x) /* nothing */
28 #define EM_WSIZE _EM_WSIZE
37 _unp(ad
,zd
,i
,ap
,zp
,noext
) int i
; struct descr
*ad
,*zd
; char *ap
,*zp
; int noext
; {
39 if (zd
->diff
> ad
->diff
||
41 (i
+zd
->diff
) > ad
->diff
)
44 i
= (zd
->diff
+ 1) * zd
->size
;
46 int *aptmp
= (int *) ap
;
47 assert(ad
->size
== EM_WSIZE
);
49 if (noext
) *aptmp
++ = *zp
++ & 0377;
50 else *aptmp
++ = *zp
++;
52 } else if (zd
->size
== 2) {
53 int *aptmp
= (int *) ap
;
54 short *zptmp
= (short *) zp
;
55 assert(ad
->size
== EM_WSIZE
);
57 if (noext
) *aptmp
++ = *zptmp
++ & 0177777;
58 else *aptmp
++ = *zptmp
++;
61 assert(ad
->size
== zd
->size
);