/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: February 24, 1992 7:58:37 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: CBitmapReaderImpl, module: CBitmapReaderImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1490841206,658824436] CBitmapReaderImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3;} W4;
#define SOURCE(p, l) /* source p, l */
#define IOP2(op, x, y) ( (word) ((x) op (y)) )
static void NoName←Q552();
static void CBitmapReaderImpl←P0();
static void Err←P60();
static word ScanNum←P120();
static word Hex←P240();
static void FromStream←P180();
static word NoName←Q612();
static void NoName←Q672();
static struct {unsigned f; char r[44];} string1 = {2818092, "\216\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[8];} string4 = {393224, "←width\000"};
static struct {unsigned f; char r[16];} string5 = {983056, "width not found"};
static struct {unsigned f; char r[8];} string6 = {458760, "←height"};
static struct {unsigned f; char r[20];} string7 = {1048596, "height not found\000\000\000"};
static struct {unsigned f; char r[8];} string8 = {393224, "←x←hot\000"};
static struct {unsigned f; char r[8];} string9 = {393224, "←y←hot\000"};
static struct {unsigned f; char r[20];} string10 = {1179668, "hottspot not found\000"};
static struct {unsigned f; char r[8];} string11 = {393224, "format\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\130\334\156\166\300\047\104\334\364\100\164\000\000"};
static struct {unsigned f; char r[8];} string13 = {393222, "\006\001$\004@\377\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\213\226\301\143\300\072\355\320\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\237\145\317\332\300\336\102\337\137\100\150\000\000"};
static struct {
word f0[18]; word f18; word f19; word f20;
word f21; word f22; word f23; word f24;
word f25[6];
} globalframe = {
{0}, (word) FromStream←P180, 0, (word) ScanNum←P120,
0, (word) Err←P60, 0, (word) CBitmapReaderImpl←P0,
{0}
};
static void NoName←Q552()
{
register ptr gf←c059 = (ptr) &globalframe;
word var←c10884;
(* (( (ptr) gf←c059)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c059)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
(* (ptr) (( (bPt) gf←c059)+36) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c059)+8) ), (word) &string4);
(* (ptr) (( (bPt) gf←c059)+40) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c059)+5) ), (word) &string5);
(* (ptr) (( (bPt) gf←c059)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c059)+8) ), (word) &string6);
(* (ptr) (( (bPt) gf←c059)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c059)+5) ), (word) &string7);
(* (ptr) (( (bPt) gf←c059)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c059)+8) ), (word) &string8);
(* (ptr) (( (bPt) gf←c059)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c059)+8) ), (word) &string9);
(* (ptr) (( (bPt) gf←c059)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c059)+5) ), (word) &string10);
(* (ptr) (( (bPt) gf←c059)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c059)+5) ), (word) &string11);
(void) XR←DeclareGlobalFrame((word) "CBitmapReaderImpl", &globalframe, (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13)
, (word) (( (bPt) gf←c059)+96)/* var←c10404 */ );
var←c10884 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string14)), 73);
(* (( (ptr) gf←c059)+28)/* var←c10564 */ ) = var←c10884;
(void) XR←ImportProcS(var←c10884, 67634690);
var←c10884 = (word) XR←ImportInterface((word) "ImagerSample", (word) XR←GetTypeIndexS((word) (&string15)), 60);
(* (( (ptr) gf←c059)+29)/* var←c10756 */ ) = var←c10884;
(void) XR←ImportProcS(var←c10884, 1320708);
(void) XR←ImportProcS(var←c10884, 273409);
(void) XR←ImportProcS(var←c10884, 68685571);
var←c10884 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string16)), 103);
(* (( (ptr) gf←c059)+27)/* var←c10532 */ ) = var←c10884;
(void) XR←ImportProcS(var←c10884, 67393281);
(void) XR←ImportProcS(var←c10884, 67372801);
var←c10884 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string17)), 43);
(* (( (ptr) gf←c059)+26)/* var←c10468 */ ) = var←c10884;
(void) XR←ImportProcS(var←c10884, 67898627);
(void) XR←ImportProcS(var←c10884, 68159492);
(void) XR←ImportProcS(var←c10884, 67903235);
var←c10884 = (word) XR←ExportInterface((word) "CBitmapReader", (word) XR←GetTypeIndexS((word) (&string18)), 2);
(* (( (ptr) gf←c059)+30)/* var←c10916 */ ) = var←c10884;
(void) XR←ExportVar(var←c10884, 0, (word) (( (bPt) gf←c059)+68)/* var←c10276 */ );
(void) XR←ExportProcS(var←c10884, (word) (( (bPt) gf←c059)+72)/* var←c10308 */ , 201588993);
}
static void CBitmapReaderImpl←P0(formal←c015, formal←c014)
word formal←c015;
word formal←c014;
{
/* CBitmapReaderImpl: */
}
static void Err←P60(rt←v2932)
word rt←v2932;
{
register ptr gf←c10948 = (ptr) &globalframe;
/* Err: */
SOURCE(231, 63)
SOURCE(260, 34)
{
word var←c10436;
{
word pd19;
pd19 = (* (( (ptr) (* (( (ptr) gf←c10948)+26)/* var←c10468 */ ))+35) );
var←c10436 = (word) ( *( (fPt) ((* (ptr) pd19 ))))(rt←v2932, 0, 32767, pd19);
};
{
word var←c018;
var←c018 = var←c10436;
(void) XR←RaiseError((word) (( (bPt) gf←c10948)+68)/* var←c10276 */ , (word) &var←c018);
};
};
}
static word ScanNum←P120(stream←v3004)
word stream←v3004;
{
W6 var←c10980;
register ptr gf←c11012 = (ptr) &globalframe;
word val←v3048;
/* declaration of var←c10500 skipped */
word low←v3236;
word high←v3264;
word ch←v3292;
/* ScanNum: */
SOURCE(298, 379)
{
word tmpAddr20;
tmpAddr20 = (word) (( (ptr) &var←c10980)+4)/* var←c10500 */ ;
(* (ptr) tmpAddr20 ) = ( ((word) (fPt) Hex←P240) );
(* (( (ptr) tmpAddr20) + 1) ) = 1;
};
SOURCE(539, 29)
{
word pd21;
pd21 = (* (( (ptr) (* (( (ptr) gf←c11012)+27)/* var←c10532 */ ))+11) );
ch←v3292 = (word) ( *( (fPt) ((* (ptr) pd21 ))))(stream←v3004, pd21);
};
SOURCE(570, 46)
lab←L100002: ;
if ((ch←v3292 != 120)) {
}
else {
goto lab←L100000;
};
SOURCE(585, 31)
{
word pd22;
pd22 = (* (( (ptr) (* (( (ptr) gf←c11012)+27)/* var←c10532 */ ))+11) );
ch←v3292 = (word) ( *( (fPt) ((* (ptr) pd22 ))))(stream←v3004, pd22);
};
goto lab←L100002;
lab←L100000: ;
SOURCE(618, 18)
high←v3264 = (word) Hex←P240(stream←v3004, (word) (( (bPt) &var←c10980)+16)/* var←c10500 */ );
SOURCE(638, 17)
low←v3236 = (word) Hex←P240(stream←v3004, (word) (( (bPt) &var←c10980)+16)/* var←c10500 */ );
SOURCE(657, 20)
return((IOP2( * , (int)high←v3264, (int)16) + low←v3236));
}
static word Hex←P240(stream←v3368, formal←c11076)
word stream←v3368;
word formal←c11076;
{
register ptr gf←c11044 = (ptr) &globalframe;
word i←v3412;
word ch←v3440;
formal←c11076 = (formal←c11076 - 16);
/* Hex: */
SOURCE(355, 165)
SOURCE(406, 29)
{
word pd23;
pd23 = (* (( (ptr) (* (( (ptr) gf←c11044)+27)/* var←c10532 */ ))+11) );
ch←v3440 = (word) ( *( (fPt) ((* (ptr) pd23 ))))(stream←v3368, pd23);
};
SOURCE(437, 83)
if (((ch←v3440 - 48) <= 9)) {
SOURCE(462, 30)
return((ch←v3440 - 48));
}
else {
SOURCE(492, 28)
return(((ch←v3440 - 97) + 10));
};
}
static void FromStream←P180(formal←c031, formal←c072)
word formal←c031;
word formal←c072;
{
W8 var←c11108;
/* declaration of stream←v3108 skipped */
/* declaration of sm←v3152 skipped */
/* declaration of hotSpot←v3180 skipped */
var←c11108.f4/* stream←v3108 */ = formal←c072;
/* FromStream: */
SOURCE(683, 1384)
SOURCE(683, 1384)
var←c11108.f5/* sm←v3152 */ = 0;
SOURCE(683, 1384)
var←c11108.f6 = 0;
var←c11108.f7 = 0;
SOURCE(810, 1257)
{
word var←c067;
var←c067 = (word) &var←c11108;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q612) ), ( ((word) (fPt) NoName←Q672) ), var←c067);
};
/* removed tail goto */
(* (ptr) formal←c031 ) = var←c11108.f5/* sm←v3152 */ ;
(* (W2Pt) (( (ptr) formal←c031)+1) ) = (* (W2Pt) (( (ptr) &var←c11108)+6)/* hotSpot←v3180 */ );
return;
}
static word NoName←Q612(formal←c065)
word formal←c065;
{
register ptr gf←c064 = (ptr) &globalframe;
SOURCE(881, 15)
{
word line←v3484 = 0;
word pos←v3512;
word width←v3540;
word height←v3568;
SOURCE(928, 29)
{
word pd24;
pd24 = (* (( (ptr) (* (( (ptr) gf←c064)+27)/* var←c10532 */ ))+91) );
line←v3484 = (word) ( *( (fPt) ((* (ptr) pd24 ))))((* ((( (ptr) formal←c065)+4)) ), pd24);
};
SOURCE(959, 39)
{
word pd25;
pd25 = (* (( (ptr) (* (( (ptr) gf←c064)+26)/* var←c10468 */ ))+12) );
pos←v3512 = (word) ( *( (fPt) ((* (ptr) pd25 ))))(line←v3484, (* (( (ptr) gf←c064)+9) ), 2147483647, 1, pd25);
};
SOURCE(1000, 36)
if (( (int)pos←v3512 < (int)0)) {
SOURCE(1014, 22)
(void) Err←P60((* ((( (ptr) gf←c064)+10)) ));
};
SOURCE(1039, 53)
{
word var←c10596;
{
word pd26;
pd26 = (* (( (ptr) (* (( (ptr) gf←c064)+26)/* var←c10468 */ ))+17) );
var←c10596 = (word) ( *( (fPt) ((* (ptr) pd26 ))))(line←v3484, (pos←v3512 + 6), 2147483647, pd26);
};
{
word pd27;
pd27 = (* (( (ptr) (* (( (ptr) gf←c064)+28)/* var←c10564 */ ))+10) );
width←v3540 = (word) ( *( (fPt) ((* (ptr) pd27 ))))(var←c10596, 8, pd27);
};
};
SOURCE(1094, 29)
{
word pd28;
pd28 = (* (( (ptr) (* (( (ptr) gf←c064)+27)/* var←c10532 */ ))+91) );
line←v3484 = (word) ( *( (fPt) ((* (ptr) pd28 ))))((* ((( (ptr) formal←c065)+4)) ), pd28);
};
SOURCE(1125, 40)
{
word pd29;
pd29 = (* (( (ptr) (* (( (ptr) gf←c064)+26)/* var←c10468 */ ))+12) );
pos←v3512 = (word) ( *( (fPt) ((* (ptr) pd29 ))))(line←v3484, (* (( (ptr) gf←c064)+11) ), 2147483647, 1, pd29);
};
SOURCE(1167, 37)
if (( (int)pos←v3512 < (int)0)) {
SOURCE(1181, 23)
(void) Err←P60((* ((( (ptr) gf←c064)+12)) ));
};
SOURCE(1207, 54)
{
word var←c10628;
{
word pd30;
pd30 = (* (( (ptr) (* (( (ptr) gf←c064)+26)/* var←c10468 */ ))+17) );
var←c10628 = (word) ( *( (fPt) ((* (ptr) pd30 ))))(line←v3484, (pos←v3512 + 7), 2147483647, pd30);
};
{
word pd31;
pd31 = (* (( (ptr) (* (( (ptr) gf←c064)+28)/* var←c10564 */ ))+10) );
height←v3568 = (word) ( *( (fPt) ((* (ptr) pd31 ))))(var←c10628, 8, pd31);
};
};
SOURCE(1263, 29)
{
word pd32;
pd32 = (* (( (ptr) (* (( (ptr) gf←c064)+27)/* var←c10532 */ ))+91) );
line←v3484 = (word) ( *( (fPt) ((* (ptr) pd32 ))))((* ((( (ptr) formal←c065)+4)) ), pd32);
};
SOURCE(1294, 39)
{
word pd33;
pd33 = (* (( (ptr) (* (( (ptr) gf←c064)+26)/* var←c10468 */ ))+12) );
pos←v3512 = (word) ( *( (fPt) ((* (ptr) pd33 ))))(line←v3484, (* (( (ptr) gf←c064)+13) ), 2147483647, 1, pd33);
};
SOURCE(1335, 278)
if (( (int)pos←v3512 >= (int)0)) {
SOURCE(1352, 57)
{
word var←c10660;
{
word pd34;
pd34 = (* (( (ptr) (* (( (ptr) gf←c064)+26)/* var←c10468 */ ))+17) );
var←c10660 = (word) ( *( (fPt) ((* (ptr) pd34 ))))(line←v3484, (pos←v3512 + 6), 2147483647, pd34);
};
{
word pd35;
pd35 = (* (( (ptr) (* (( (ptr) gf←c064)+28)/* var←c10564 */ ))+10) );
(* (( (ptr) formal←c065)+7) ) = (word) ( *( (fPt) ((* (ptr) pd35 ))))(var←c10660, 8, pd35);
};
};
SOURCE(1411, 29)
{
word pd36;
pd36 = (* (( (ptr) (* (( (ptr) gf←c064)+27)/* var←c10532 */ ))+91) );
line←v3484 = (word) ( *( (fPt) ((* (ptr) pd36 ))))((* ((( (ptr) formal←c065)+4)) ), pd36);
};
SOURCE(1442, 39)
{
word pd37;
pd37 = (* (( (ptr) (* (( (ptr) gf←c064)+26)/* var←c10468 */ ))+12) );
pos←v3512 = (word) ( *( (fPt) ((* (ptr) pd37 ))))(line←v3484, (* (( (ptr) gf←c064)+14) ), 2147483647, 1, pd37);
};
SOURCE(1483, 39)
if (( (int)pos←v3512 < (int)0)) {
SOURCE(1497, 25)
(void) Err←P60((* ((( (ptr) gf←c064)+15)) ));
};
SOURCE(1525, 57)
{
word var←c10692;
{
word pd38;
pd38 = (* (( (ptr) (* (( (ptr) gf←c064)+26)/* var←c10468 */ ))+17) );
var←c10692 = (word) ( *( (fPt) ((* (ptr) pd38 ))))(line←v3484, (pos←v3512 + 6), 2147483647, pd38);
};
{
word pd39;
pd39 = (* (( (ptr) (* (( (ptr) gf←c064)+28)/* var←c10564 */ ))+10) );
(* (( (ptr) formal←c065)+6) ) = (word) ( *( (fPt) ((* (ptr) pd39 ))))(var←c10692, 8, pd39);
};
};
SOURCE(1584, 29)
{
word pd40;
pd40 = (* (( (ptr) (* (( (ptr) gf←c064)+27)/* var←c10532 */ ))+91) );
line←v3484 = (word) ( *( (fPt) ((* (ptr) pd40 ))))((* ((( (ptr) formal←c065)+4)) ), pd40);
};
};
SOURCE(1618, 113)
{
W4 var←c10724;
var←c10724.f0 = 0;
var←c10724.f1 = 0;
var←c10724.f2 = height←v3568;
var←c10724.f3 = width←v3540;
{
word pd41;
pd41 = (* (( (ptr) (* (( (ptr) gf←c064)+29)/* var←c10756 */ ))+19) );
(* (( (ptr) formal←c065)+5) ) = (word) ( *( (fPt) ((* (ptr) pd41 ))))(var←c10724, 1, IOP2( * , (int)IOP2( / , (int)(width←v3540 +
63), (int)64), (int)64), pd41);
};
};
SOURCE(1755, 22)
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c064)+29)/* var←c10756 */ ))+48) );
(void) ( *( (fPt) ((* (ptr) pd42 ))))((* ((( (ptr) formal←c065)+5)) ), pd42);
};
SOURCE(1779, 288)
{
register word s←v3612 = 0;
register word noName←c10788;
noName←c10788 = height←v3568;
if (( (int)s←v3612 >= (int)noName←c10788)) {
goto lab←L100006;
};
lab←L100009: ;
{
word nextNum←v3656;
word availablebits←v3684 = 0;
SOURCE(1846, 221)
{
register word f←v3728 = 0;
register word noName←c10820;
noName←c10820 = width←v3540;
if (( (int)f←v3728 >= (int)noName←c10820)) {
goto lab←L100010;
};
lab←L100013: ;
SOURCE(1874, 71)
if (( (int)availablebits←v3684 <= (int)0)) {
SOURCE(1901, 25)
nextNum←v3656 = (word) ScanNum←P120((* ((( (ptr) formal←c065)+4)) ));
SOURCE(1928, 17)
availablebits←v3684 = 8;
};
SOURCE(1950, 63)
if (( (int)IOP2( % , (int)nextNum←v3656, (int)2) != (int)0)) {
SOURCE(1976, 37)
{
W2 var←c10852;
var←c10852.f0 = s←v3612;
var←c10852.f1 = f←v3728;
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c064)+29)/* var←c10756 */ ))+43) );
(void) ( *( (fPt) ((* (ptr) pd43 ))))((* (( (ptr) formal←c065)+5) ), var←c10852, 1, 0, pd43);
};
};
};
SOURCE(2015, 19)
nextNum←v3656 = IOP2( / , (int)nextNum←v3656, (int)2);
SOURCE(2036, 31)
availablebits←v3684 = (availablebits←v3684 - 1);
f←v3728 = (f←v3728 + 1);
if (( (int)f←v3728 < (int)noName←c10820)) {
goto lab←L100013;
};
lab←L100010: ;
};
};
s←v3612 = (s←v3612 + 1);
if (( (int)s←v3612 < (int)noName←c10788)) {
goto lab←L100009;
};
lab←L100006: ;
};
};
return(0);
}
static void NoName←Q672(formal←c058, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c058;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c066 = (ptr) &globalframe;
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c066)+28)/* var←c10564 */ ))+7) ))) {
{
word reason←v5316;
word index←v5344;
reason←v5316 = (* (ptr) formal←c200003 );
index←v5344 = (* (( (ptr) formal←c200003)+1) );
SOURCE(836, 13)
(void) Err←P60((* ((( (ptr) gf←c066)+16)) ));
};
}
else {
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c066)+27)/* var←c10532 */ ))+5) ))) {
{
word ec←v5844;
word stream←v5872;
word details←v5900;
word msg←v5928;
ec←v5844 = (* (ptr) formal←c200003 );
stream←v5872 = (* (( (ptr) formal←c200003)+1) );
details←v5900 = (* (( (ptr) formal←c200003)+2) );
msg←v5928 = (* (( (ptr) formal←c200003)+3) );
SOURCE(863, 13)
(void) Err←P60((* ((( (ptr) gf←c066)+16)) ));
};
};
};
(* (ptr) formal←c058 ) = 0;
(* (( (ptr) formal←c058)+1) ) = 0;
return;
}
/* file: CBitmapReaderImpl, module: CBitmapReaderImpl, compiled at: February 24, 1992 7:58:35 pm PST */
extern void XR←install←CBitmapReaderImpl() {
NoName←Q552();
}
extern void XR←run←CBitmapReaderImpl() { XR←Start(&globalframe); }