/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */
/* time: January 19, 1993 12:22:13 pm PST */
/* C2C version: October 7, 1992 (native) */
/* ref-counting: off */
/* file: CommanderImpl, module: CommanderImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3436238190,163555702] CommanderImpl";
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, f6, f7;} W8;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; word r;} W9;
typedef struct {W8 f; W2 r;} W10;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q2184();
static void CommanderImpl←P0();
static void Register←P60();
static void ChangeRegistry←P120();
static word Update←P900();
static word Lookup←P180();
static word NoName←Q2244();
static word LookupInRegistry←P240();
static void Enumerate←P300();
static word NoName←Q2304();
static void EnumerateInRegistry←P360();
static word EachPairProc←P1344();
static void EnumeratePattern←P420();
static word NoName←Q2364();
static void EnumPatternInRegistry←P480();
static word EachPairProc←P1548();
static word GetProp←P540();
static word GetWDir←P600();
static word GetDefaultWDir←P660();
static word PrependWorkingDir←P720();
static word GetProperty←P780();
static word NoName←Q2424();
static word PutProperty←P840();
static word NoName←Q2484();
static void NoName←Q2544();
static void NoName←Q2604();
static void NoName←Q2664();
static void NoName←Q2724();
static void NoName←Q2784();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\314\320\325\156\300\011\277\251\166\100\200\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\017\000"};
static struct {unsigned f; char r[4];} string3 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[40];} string5 = {2555944, "\262\260\004\003\153\145\171\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\260\000\216\257\300\373\225\000\071\300\362\156\307\320\100\244\261"};
static struct {unsigned f; char r[44];} string6 = {2752556, "\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\000"};
static struct {unsigned f; char r[116];} string7 = {7471220, "\262\260\012\011\155\141\164\143\150\120\162\157\143\262\260\004\003\153\145\171\216\257\300\363\223\326\161\300\017\164\046\072\104\350\011\010\160\162\157\143\104\141\164\141\216\257\300\373\225\000\071\300\362\156\307\320\100\244\261\260\005\004\163\164\157\160\232\261\261\260\004\003\153\145\171\216\257\300\363\223\326\161\300\017\164\046\072\104\350\011\010\160\162\157\143\104\141\164\141\216\257\300\373\225\000\071\300\362\156\307\320\100\244\261\000"};
static struct {unsigned f; char r[16];} string8 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[140];} string9 = {8978572, "\262\260\010\007\160\141\164\164\145\162\156\216\257\300\363\223\326\161\300\017\164\046\072\104\350\012\011\155\141\164\143\150\120\162\157\143\262\260\004\003\153\145\171\216\257\300\363\223\326\161\300\017\164\046\072\104\350\011\010\160\162\157\143\104\141\164\141\216\257\300\373\225\000\071\300\362\156\307\320\100\244\261\260\005\004\163\164\157\160\232\261\261\260\004\003\153\145\171\216\257\300\363\223\326\161\300\017\164\046\072\104\350\011\010\160\162\157\143\104\141\164\141\216\257\300\373\225\000\071\300\362\156\307\320\100\244\261\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string11 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\244\000\000"};
static struct {unsigned f; char r[4];} string13 = {131074, "\004\006\000"};
static struct {unsigned f; char r[40];} string14 = {2490408, "\262\260\004\003\143\155\144\216\257\300\373\225\000\071\300\362\156\307\320\100\230\004\003\153\145\171\217\261\260\006\005\166\141\154\165\145\217\261\000"};
static struct {unsigned f; char r[20];} string15 = {1048596, "WorkingDirectory\000\000\000"};
static struct {unsigned f; char r[16];} string16 = {917520, "StdEnumPattern\000"};
static struct {unsigned f; char r[4];} string17 = {196612, "PWD"};
static struct {unsigned f; char r[4];} string18 = {65540, "/\000\000"};
static struct {unsigned f; char r[16];} string19 = {786448, "StdEnumerate\000\000\000"};
static struct {unsigned f; char r[12];} string20 = {589836, "StdLookup\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\314\320\325\156\300\011\277\251\166\100\164\000\000"};
static struct {unsigned f; char r[12];} string22 = {655370, "\006\003 \001$\001@\134\004?\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\314\116\377\204\300\167\024\373\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\240\236\274\171\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\072\337\114\355\300\232\070\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\322\342\022\352\300\100\014\165\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\206\126\034\347\300\061\333\303\163\100\150\000\000"};
static struct {
word f0[29]; word f29; word f30; word f31;
word f32; word f33; word f34; word f35;
word f36; word f37; word f38; word f39;
word f40; word f41; word f42; word f43;
word f44; word f45; word f46; word f47;
word f48; word f49; word f50; word f51;
word f52; word f53; word f54; word f55;
word f56; word f57; word f58[8];
} globalframe = {
{0}, (word) PutProperty←P840, 0, (word) GetProperty←P780,
0, (word) PrependWorkingDir←P720, 0, (word) GetDefaultWDir←P660,
0, (word) GetWDir←P600, 0, (word) GetProp←P540,
0, (word) EnumPatternInRegistry←P480, 0, (word) EnumeratePattern←P420,
0, (word) EnumerateInRegistry←P360, 0, (word) Enumerate←P300,
0, (word) LookupInRegistry←P240, 0, (word) Lookup←P180,
0, (word) ChangeRegistry←P120, 0, (word) Register←P60,
0, (word) CommanderImpl←P0, {0}
};
static void NoName←Q2184()
{
register ptr gf←c0185 = (ptr) &globalframe;
word var←c17736;
(* (( (ptr) gf←c0185)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0185)+11) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
(* (( (ptr) gf←c0185)+14) ) = (word) XR←GetTypeIndexS((word) (&string5));
(* (( (ptr) gf←c0185)+15) ) = (word) XR←GetTypeIndexS((word) (&string6));
(* (( (ptr) gf←c0185)+16) ) = (word) XR←GetTypeIndexS((word) (&string7));
(* (( (ptr) gf←c0185)+17) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string4);
(* (( (ptr) gf←c0185)+18) ) = (word) XR←GetTypeIndexS((word) (&string9));
(* (( (ptr) gf←c0185)+19) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
(* (( (ptr) gf←c0185)+21) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
(* (( (ptr) gf←c0185)+22) ) = (word) XR←GetTypeIndexS((word) (&string14));
(* (ptr) (( (bPt) gf←c0185)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0185)+11) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0185)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0185)+11) ), (word) &string16);
(* (ptr) (( (bPt) gf←c0185)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0185)+17) ), (word) &string17);
(* (ptr) (( (bPt) gf←c0185)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0185)+17) ), (word) &string18);
(* (ptr) (( (bPt) gf←c0185)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0185)+11) ), (word) &string19);
(* (ptr) (( (bPt) gf←c0185)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0185)+11) ), (word) &string20);
(void) XR←DeclareGlobalFrame((word) "CommanderImpl", &globalframe, (word) XR←GetTypeIndex((word) &string21, 0, (word) &string22)
, (word) (( (bPt) gf←c0185)+228)/* var←c16136 */ );
var←c17736 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string23)), 28);
(* (( (ptr) gf←c0185)+63)/* var←c17192 */ ) = var←c17736;
(void) XR←ImportProcS(var←c17736, 67899907);
(void) XR←ImportProcS(var←c17736, 67637250);
var←c17736 = (word) XR←ImportInterface((word) "ProcessProps", (word) XR←GetTypeIndexS((word) (&string24)), 6);
(* (( (ptr) gf←c0185)+62)/* var←c17160 */ ) = var←c17736;
(void) XR←ImportProcS(var←c17736, 67109376);
var←c17736 = (word) XR←ImportInterface((word) "Prop", (word) XR←GetTypeIndexS((word) (&string25)), 4);
(* (( (ptr) gf←c0185)+60)/* var←c16296 */ ) = var←c17736;
(void) XR←ImportProcS(var←c17736, 67895299);
var←c17736 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string26)), 43);
(* (( (ptr) gf←c0185)+61)/* var←c17064 */ ) = var←c17736;
(void) XR←ImportProcS(var←c17736, 67896323);
(void) XR←ImportProcS(var←c17736, 67903235);
(void) XR←ImportProcS(var←c17736, 67633666);
(void) XR←ImportProcS(var←c17736, 67373313);
(void) XR←ImportProcS(var←c17736, 67900163);
var←c17736 = (word) XR←ImportInterface((word) "SymTab", (word) XR←GetTypeIndexS((word) (&string27)), 13);
(* (( (ptr) gf←c0185)+59)/* var←c16168 */ ) = var←c17736;
(void) XR←ImportProcS(var←c17736, 67635714);
(void) XR←ImportProcS(var←c17736, 134742786);
(void) XR←ImportProcS(var←c17736, 67896835);
(void) XR←ImportProcS(var←c17736, 67635202);
(void) XR←ImportProcS(var←c17736, 67633410);
var←c17736 = (word) XR←ImportInterface((word) "UnixEnviron", (word) XR←GetTypeIndexS((word) (&string28)), 1);
(* (( (ptr) gf←c0185)+64)/* var←c17320 */ ) = var←c17736;
(void) XR←ImportProcS(var←c17736, 67371009);
var←c17736 = (word) XR←ExportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string29)), 3);
(* (( (ptr) gf←c0185)+65)/* var←c17768 */ ) = var←c17736;
(void) XR←ExportProcS(var←c17736, (word) (( (bPt) gf←c0185)+220)/* var←c16104 */ , 1310725);
(void) XR←ExportProcS(var←c17736, (word) (( (bPt) gf←c0185)+188)/* var←c15976 */ , 134480129);
(void) XR←ExportProcS(var←c17736, (word) (( (bPt) gf←c0185)+204)/* var←c16040 */ , 67371521);
var←c17736 = (word) XR←ExportInterface((word) "CommanderRegistry", (word) XR←GetTypeIndexS((word) (&string30)), 3);
(* (( (ptr) gf←c0185)+65)/* var←c17768 */ ) = var←c17736;
(void) XR←ExportProcS(var←c17736, (word) (( (bPt) gf←c0185)+212)/* var←c16072 */ , 262145);
(void) XR←ExportProcS(var←c17736, (word) (( (bPt) gf←c0185)+172)/* var←c15912 */ , 134742274);
(void) XR←ExportProcS(var←c17736, (word) (( (bPt) gf←c0185)+156)/* var←c15848 */ , 67633666);
}
static void CommanderImpl←P0(formal←c046, formal←c035)
word formal←c046;
word formal←c035;
{
register ptr gf←c17800 = (ptr) &globalframe;
/* CommanderImpl: */
SOURCE(427, 5890)
SOURCE(961, 66)
{
word pd31;
pd31 = (* (( (ptr) (* (( (ptr) gf←c17800)+59)/* var←c16168 */ ))+5) );
(* (( (ptr) gf←c17800)+8)/* commandRegistry←v3000 */ ) = (word) ( *( (fPt) ((* (ptr) pd31 ))))(101, 0, pd31);
};
SOURCE(1029, 322)
{
word var←c16200;
word var←c16328;
word var←c16424;
word var←c16520;
{
word var←c16232;
{
word var←c16264;
var←c16264 = XR←NewObject(4, (* (( (ptr) gf←c17800)+14) ));
(* (ptr) var←c16264 ) = (word) (( (bPt) gf←c17800)+196)/* var←c16008 */ ;
var←c16232 = var←c16264;
};
{
word pd32;
pd32 = (* (( (ptr) (* (( (ptr) gf←c17800)+60)/* var←c16296 */ ))+4) );
var←c16200 = (word) ( *( (fPt) ((* (ptr) pd32 ))))(0, (* (( (ptr) gf←c17800)+28) ), var←c16232, pd32);
};
};
{
word var←c16360;
{
word var←c16392;
var←c16392 = XR←NewObject(4, (* (( (ptr) gf←c17800)+16) ));
(* (ptr) var←c16392 ) = (word) (( (bPt) gf←c17800)+180)/* var←c15944 */ ;
var←c16360 = var←c16392;
};
{
word pd33;
pd33 = (* (( (ptr) (* (( (ptr) gf←c17800)+60)/* var←c16296 */ ))+4) );
var←c16328 = (word) ( *( (fPt) ((* (ptr) pd33 ))))(0, (* (( (ptr) gf←c17800)+27) ), var←c16360, pd33);
};
};
{
word var←c16456;
{
word var←c16488;
var←c16488 = XR←NewObject(4, (* (( (ptr) gf←c17800)+18) ));
(* (ptr) var←c16488 ) = (word) (( (bPt) gf←c17800)+164)/* var←c15880 */ ;
var←c16456 = var←c16488;
};
{
word pd34;
pd34 = (* (( (ptr) (* (( (ptr) gf←c17800)+60)/* var←c16296 */ ))+4) );
var←c16424 = (word) ( *( (fPt) ((* (ptr) pd34 ))))(0, (* (( (ptr) gf←c17800)+24) ), var←c16456, pd34);
};
};
var←c16520 = XR←NewObject(16, (* (( (ptr) gf←c17800)+10) ));
(* (ptr) var←c16520 ) = var←c16200;
(* (( (ptr) var←c16520)+1) ) = var←c16328;
(* (( (ptr) var←c16520)+2) ) = var←c16424;
(* (( (ptr) gf←c17800)+9)/* hooks←v3028 */ ) = var←c16520;
};
}
static void Register←P60(key←v3668, proc←v3696, doc←v3724, clientData←v3752, interpreted←v3780)
word key←v3668;
word proc←v3696;
word doc←v3724;
word clientData←v3752;
word interpreted←v3780;
{
register ptr gf←c17832 = (ptr) &globalframe;
/* Register: */
SOURCE(1353, 378)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17832)+16)/* LOCK←v2776 */ ));
SOURCE(1490, 241)
if ((proc←v3696 == 0)) {
SOURCE(1511, 49)
{
word var←c16552;
word pd35;
pd35 = (* (( (ptr) (* (( (ptr) gf←c17832)+59)/* var←c16168 */ ))+12) );
var←c16552 = (word) ( *( (fPt) ((* (ptr) pd35 ))))((* (( (ptr) gf←c17832)+8)/* commandRegistry←v3000 */ ), key←v3668, pd35)
;
};
}
else {
SOURCE(1569, 162)
{
word var←c16648;
{
word var←c16584;
{
word var←c16616;
var←c16616 = XR←NewObject(16, (* (( (ptr) gf←c17832)+21) ));
(* (ptr) var←c16616 ) = XR←CheckProc(proc←v3696);
(* (( (ptr) var←c16616)+1) ) = doc←v3724;
(* (( (ptr) var←c16616)+2) ) = clientData←v3752;
(* (( (ptr) var←c16616)+3) ) = interpreted←v3780;
var←c16584 = var←c16616;
};
{
word pd36;
pd36 = (* (( (ptr) (* (( (ptr) gf←c17832)+59)/* var←c16168 */ ))+10) );
var←c16648 = (word) ( *( (fPt) ((* (ptr) pd36 ))))((* (( (ptr) gf←c17832)+8)/* commandRegistry←v3000 */ ), key←v3668, var←c16584, pd36)
;
};
};
};
};
SOURCE(1353, 378)
(void) (XR←MonitorExit((word) (( (bPt) gf←c17832)+16)/* LOCK←v2776 */ ));
return;
}
static void ChangeRegistry←P120(change←v3856)
word change←v3856;
{
W8 var←c17864;
register ptr gf←c17896 = (ptr) &globalframe;
/* declaration of var←c16680 skipped */
/* declaration of old←v4720 skipped */
/* declaration of new←v4748 skipped */
/* ChangeRegistry: */
SOURCE(1740, 522)
{
word tmpAddr37;
tmpAddr37 = (word) (( (ptr) &var←c17864)+4)/* var←c16680 */ ;
(* (ptr) tmpAddr37 ) = ( ((word) (fPt) Update←P900) );
(* (( (ptr) tmpAddr37) + 1) ) = 1;
};
SOURCE(1880, 25)
var←c17864.f6/* old←v4720 */ = (* (( (ptr) gf←c17896)+9)/* hooks←v3028 */ );
SOURCE(1907, 33)
var←c17864.f7/* new←v4748 */ = XR←NewObject(16, (* (( (ptr) gf←c17896)+10) ));
SOURCE(2071, 191)
lab←L100002: ;
SOURCE(2074, 169)
{
W4 var←c16744;
(void) ( *( (fPt) ((* (ptr) change←v3856 ))))((word) &var←c16744, (* (ptr) var←c17864.f6/* old←v4720 */ ), (* (( (ptr) var←c17864.f6/* old←v4720 */ )+1)
), (* (( (ptr) var←c17864.f6/* old←v4720 */ )+2) ), (* (( (ptr) var←c17864.f6/* old←v4720 */ )+3) ), change←v3856);
(* (( (ptr) var←c17864.f7/* new←v4748 */ )+3) ) = var←c16744.f3;
(* (( (ptr) var←c17864.f7/* new←v4748 */ )+2) ) = var←c16744.f2;
(* (( (ptr) var←c17864.f7/* new←v4748 */ )+1) ) = var←c16744.f1;
(* (ptr) var←c17864.f7/* new←v4748 */ ) = var←c16744.f0;
};
SOURCE(2245, 17)
if ((0 != (word) Update←P900((word) ((( (bPt) &var←c17864)+16)/* var←c16680 */ )))) {
SOURCE(2262, 4)
goto lab←L100001;
};
goto lab←L100002;
lab←L100001: ;
}
static word Update←P900(formal←c17960)
word formal←c17960;
{
register ptr gf←c17928 = (ptr) &globalframe;
word var←c4876;
formal←c17960 = (formal←c17960 - 16);
/* Update: */
SOURCE(1942, 124)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c17928)+16)/* LOCK←v2776 */ ));
SOURCE(1980, 86)
if (((* (( (ptr) formal←c17960)+6) ) == (* (( (ptr) gf←c17928)+9)/* hooks←v3028 */ ))) {
SOURCE(2002, 11)
(* (( (ptr) gf←c17928)+9)/* hooks←v3028 */ ) = (* (( (ptr) formal←c17960)+7) );
SOURCE(2015, 14)
(void) (XR←MonitorExit((word) (( (bPt) gf←c17928)+16)/* LOCK←v2776 */ ));
return(1);
}
else {
SOURCE(2038, 11)
(* (( (ptr) formal←c17960)+6) ) = (* (( (ptr) gf←c17928)+9)/* hooks←v3028 */ );
SOURCE(2051, 15)
(void) (XR←MonitorExit((word) (( (bPt) gf←c17928)+16)/* LOCK←v2776 */ ));
return(0);
};
}
static word Lookup←P180(formal←c0242)
word formal←c0242;
{
W6 var←c17992;
/* declaration of key←v11944 skipped */
register ptr gf←c18024 = (ptr) &globalframe;
/* declaration of var←c01 skipped */
word var←c11988;
var←c17992.f4/* key←v11944 */ = formal←c0242;
/* Lookup: */
SOURCE(2281, 407)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18024)+16)/* LOCK←v2776 */ ));
SOURCE(2317, 371)
{
word var←c02;
{
word var←c0221;
var←c0221 = (word) &var←c17992;
var←c02 = (word) XR←Enable(( ((word) (fPt) NoName←Q2244) ), ( ((word) (fPt) NoName←Q2784) ), var←c0221);
};
/* removed trivial cond node */
};
return(var←c17992.f5/* var←c01 */ );
}
static word NoName←Q2244(formal←c0193)
word formal←c0193;
{
register ptr gf←c0192 = (ptr) &globalframe;
SOURCE(2340, 43)
{
word procData←v4904 = 0;
SOURCE(2385, 264)
{
register word lPs←v4948;
lPs←v4948 = (* (ptr) (* (( (ptr) gf←c0192)+9)/* hooks←v3028 */ ) );
lab←L100008: ;
if ((lPs←v4948 != 0)) {
}
else {
goto lab←L100005;
};
SOURCE(2450, 199)
{
word var←c16776;
var←c16776 = (* (( (ptr) lPs←v4948)+1) );
if ((var←c16776 == 0)) {
goto lab←L100009;
};
if (((* (( (ptr) gf←c0192)+14) ) == XR←GetReferentType(var←c16776))) {
{
word val←v4992;
val←v4992 = var←c16776;
SOURCE(2504, 147)
{
word proc←v5048;
word pData←v5076;
SOURCE(2506, 23)
proc←v5048 = (* (ptr) val←v4992 );
SOURCE(2531, 46)
pData←v5076 = (word) ( *( (fPt) ((* (ptr) proc←v5048 ))))((* ((( (ptr) formal←c0193)+4)) ), proc←v5048);
SOURCE(2579, 70)
if ((pData←v5076 != 0)) {
SOURCE(2597, 52)
if ((procData←v4904 == 0)) {
SOURCE(2618, 20)
procData←v4904 = pData←v5076;
}
else {
SOURCE(2638, 11)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0192)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0193)+5) ) = 0;
return(1);
};
};
};
};
}
else {
lab←L100009: ;
};
};
lPs←v4948 = (* (( (ptr) lPs←v4948)+2) );
goto lab←L100008;
lab←L100005: ;
};
SOURCE(2672, 16)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0192)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0193)+5) ) = procData←v4904;
return(1);
};
/* c2c skipped dead code */
}
static word LookupInRegistry←P240(key←v11512)
word key←v11512;
{
register ptr gf←c18056 = (ptr) &globalframe;
word var←c11556;
/* LookupInRegistry: */
SOURCE(2694, 186)
SOURCE(2727, 122)
{
word var←c16808;
W2 var←c074;
{
word pd38;
pd38 = (* (( (ptr) (* (( (ptr) gf←c18056)+59)/* var←c16168 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd38 ))))((word) &var←c074, (* (( (ptr) gf←c18056)+8)/* commandRegistry←v3000 */ ), key←v11512, pd38)
;
};
var←c16808 = var←c074.f1;
if ((var←c16808 == 0)) {
goto lab←L100010;
};
if (((* (( (ptr) gf←c18056)+21) ) == XR←GetReferentType(var←c16808))) {
{
word procData←v5120;
procData←v5120 = var←c16808;
SOURCE(2832, 17)
return(procData←v5120);
};
}
else {
lab←L100010: ;
};
};
SOURCE(2868, 12)
return(0);
}
static void Enumerate←P300(formal←c079, formal←c0243)
word formal←c079;
word formal←c0243;
{
W5 var←c18088;
/* declaration of matchProc←v12048 skipped */
register ptr gf←c18120 = (ptr) &globalframe;
word key←v12092;
word procData←v12120;
var←c18088.f4/* matchProc←v12048 */ = formal←c0243;
/* Enumerate: */
SOURCE(2886, 240)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18120)+16)/* LOCK←v2776 */ ));
SOURCE(2886, 240)
key←v12092 = 0;
SOURCE(2886, 240)
procData←v12120 = 0;
SOURCE(2928, 198)
{
word var←c0222;
var←c0222 = (word) &var←c18088;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q2304) ), ( ((word) (fPt) NoName←Q2724) ), var←c0222);
};
/* removed tail goto */
(void) (XR←MonitorExit((word) (( (bPt) gf←c18120)+16)/* LOCK←v2776 */ ));
(* (ptr) formal←c079 ) = key←v12092;
(* (( (ptr) formal←c079)+1) ) = procData←v12120;
return;
}
static word NoName←Q2304(formal←c0197)
word formal←c0197;
{
register ptr gf←c0196 = (ptr) &globalframe;
SOURCE(2951, 175)
{
register word ePs←v5164;
ePs←v5164 = (* (( (ptr) (* (( (ptr) gf←c0196)+9)/* hooks←v3028 */ ))+1) );
lab←L100018: ;
if ((ePs←v5164 != 0)) {
}
else {
goto lab←L100015;
};
SOURCE(3019, 107)
{
word var←c16840;
var←c16840 = (* (( (ptr) ePs←v5164)+1) );
if ((var←c16840 == 0)) {
goto lab←L100019;
};
if (((* (( (ptr) gf←c0196)+16) ) == XR←GetReferentType(var←c16840))) {
{
word val←v5208;
val←v5208 = var←c16840;
SOURCE(3076, 52)
{
word proc←v5264;
SOURCE(3078, 26)
proc←v5264 = (* (ptr) val←v5208 );
SOURCE(3106, 20)
{
W2 var←c16872;
(void) ( *( (fPt) ((* (ptr) proc←v5264 ))))((word) &var←c16872, (* (( (ptr) formal←c0197)+4) ), proc←v5264);
};
};
};
}
else {
lab←L100019: ;
};
};
ePs←v5164 = (* (( (ptr) ePs←v5164)+2) );
goto lab←L100018;
lab←L100015: ;
};
return(0);
}
static void EnumerateInRegistry←P360(formal←c092, formal←c0244)
word formal←c092;
word formal←c0244;
{
W9 var←c18152;
/* declaration of matchProc←v11628 skipped */
register ptr gf←c18184 = (ptr) &globalframe;
word key←v11672;
word procData←v11700;
/* declaration of var←c16904 skipped */
/* declaration of outerKey←v5308 skipped */
/* declaration of outerProcData←v5336 skipped */
(* (( (ptr) &var←c18152)+4)/* matchProc←v11628 */ ) = formal←c0244;
/* EnumerateInRegistry: */
SOURCE(3153, 430)
{
word tmpAddr39;
tmpAddr39 = (word) (( (ptr) &var←c18152)+5)/* var←c16904 */ ;
(* (ptr) tmpAddr39 ) = ( ((word) (fPt) EachPairProc←P1344) );
(* (( (ptr) tmpAddr39) + 1) ) = 1;
};
SOURCE(3153, 430)
key←v11672 = 0;
SOURCE(3153, 430)
procData←v11700 = 0;
SOURCE(3192, 14)
(* (( (ptr) &var←c18152)+7)/* outerKey←v5308 */ ) = 0;
SOURCE(3208, 42)
(* (( (ptr) &var←c18152)+8)/* outerProcData←v5336 */ ) = 0;
SOURCE(3428, 104)
{
word pd40;
pd40 = (* (( (ptr) (* (( (ptr) gf←c18184)+59)/* var←c16168 */ ))+14) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd40 ))))((* (( (ptr) gf←c18184)+8)/* commandRegistry←v3000 */ ), (word) (( (bPt) &var←c18152)+20)
/* var←c16904 */ , pd40))) {
SOURCE(3497, 14)
(* (( (ptr) &var←c18152)+7)/* outerKey←v5308 */ ) = 0;
SOURCE(3513, 19)
(* (( (ptr) &var←c18152)+8)/* outerProcData←v5336 */ ) = 0;
};
};
SOURCE(3537, 46)
key←v11672 = (* (( (ptr) &var←c18152)+7)/* outerKey←v5308 */ );
procData←v11700 = (* (( (ptr) &var←c18152)+8)/* outerProcData←v5336 */ );
/* removed tail goto */
(* (ptr) formal←c092 ) = key←v11672;
(* (( (ptr) formal←c092)+1) ) = procData←v11700;
return;
}
static word EachPairProc←P1344(key←v12704, val←v12732, formal←c18248)
word key←v12704;
word val←v12732;
word formal←c18248;
{
register ptr gf←c18216 = (ptr) &globalframe;
word quit←v12776;
formal←c18248 = (formal←c18248 - 20);
/* EachPairProc: */
SOURCE(3252, 171)
SOURCE(3252, 171)
quit←v12776 = 0;
SOURCE(3292, 56)
(* (( (ptr) formal←c18248)+8) ) = XR←Narrow(val←v12732, (* (( (ptr) gf←c18216)+21) ));
SOURCE(3350, 14)
(* (( (ptr) formal←c18248)+7) ) = key←v12704;
SOURCE(3366, 57)
{
word pd41;
pd41 = (* (( (ptr) formal←c18248)+4) );
return((word) ( *( (fPt) ((* (ptr) pd41 ))))((* (( (ptr) formal←c18248)+7) ), (* (( (ptr) formal←c18248)+8) ), pd41));
};
}
static void EnumeratePattern←P420(formal←c0100, formal←c0245, formal←c0246)
word formal←c0100;
word formal←c0245;
word formal←c0246;
{
W6 var←c18280;
/* declaration of pattern←v12180 skipped */
/* declaration of matchProc←v12208 skipped */
register ptr gf←c18312 = (ptr) &globalframe;
word key←v12252;
word procData←v12280;
var←c18280.f4/* pattern←v12180 */ = formal←c0245;
var←c18280.f5/* matchProc←v12208 */ = formal←c0246;
/* EnumeratePattern: */
SOURCE(3589, 264)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18312)+16)/* LOCK←v2776 */ ));
SOURCE(3589, 264)
key←v12252 = 0;
SOURCE(3589, 264)
procData←v12280 = 0;
SOURCE(3640, 213)
{
word var←c0223;
var←c0223 = (word) &var←c18280;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q2364) ), ( ((word) (fPt) NoName←Q2664) ), var←c0223);
};
/* removed tail goto */
(void) (XR←MonitorExit((word) (( (bPt) gf←c18312)+16)/* LOCK←v2776 */ ));
(* (ptr) formal←c0100 ) = key←v12252;
(* (( (ptr) formal←c0100)+1) ) = procData←v12280;
return;
}
static word NoName←Q2364(formal←c0203)
word formal←c0203;
{
register ptr gf←c0202 = (ptr) &globalframe;
SOURCE(3663, 190)
{
register word ePs←v5408;
ePs←v5408 = (* (( (ptr) (* (( (ptr) gf←c0202)+9)/* hooks←v3028 */ ))+2) );
lab←L100028: ;
if ((ePs←v5408 != 0)) {
}
else {
goto lab←L100025;
};
SOURCE(3733, 120)
{
word var←c16968;
var←c16968 = (* (( (ptr) ePs←v5408)+1) );
if ((var←c16968 == 0)) {
goto lab←L100029;
};
if (((* (( (ptr) gf←c0202)+18) ) == XR←GetReferentType(var←c16968))) {
{
word val←v5452;
val←v5452 = var←c16968;
SOURCE(3792, 63)
{
word proc←v5508;
SOURCE(3794, 28)
proc←v5508 = (* (ptr) val←v5452 );
SOURCE(3824, 29)
{
W2 var←c17000;
(void) ( *( (fPt) ((* (ptr) proc←v5508 ))))((word) &var←c17000, (* (( (ptr) formal←c0203)+4) ), (* (( (ptr) formal←c0203)+5)
), proc←v5508);
};
};
};
}
else {
lab←L100029: ;
};
};
ePs←v5408 = (* (( (ptr) ePs←v5408)+2) );
goto lab←L100028;
lab←L100025: ;
};
return(0);
}
static void EnumPatternInRegistry←P480(formal←c0114, formal←c0247, formal←c0248)
word formal←c0114;
word formal←c0247;
word formal←c0248;
{
W10 var←c18344;
/* declaration of pattern←v11772 skipped */
/* declaration of matchProc←v11800 skipped */
register ptr gf←c18376 = (ptr) &globalframe;
word key←v11844;
word procData←v11872;
/* declaration of var←c17032 skipped */
/* declaration of outerKey←v5552 skipped */
/* declaration of outerProcData←v5580 skipped */
(* (( (ptr) &var←c18344)+4)/* pattern←v11772 */ ) = formal←c0247;
(* (( (ptr) &var←c18344)+5)/* matchProc←v11800 */ ) = formal←c0248;
/* EnumPatternInRegistry: */
SOURCE(3880, 516)
{
word tmpAddr42;
tmpAddr42 = (word) (( (ptr) &var←c18344)+6)/* var←c17032 */ ;
(* (ptr) tmpAddr42 ) = ( ((word) (fPt) EachPairProc←P1548) );
(* (( (ptr) tmpAddr42) + 1) ) = 1;
};
SOURCE(3880, 516)
key←v11844 = 0;
SOURCE(3880, 516)
procData←v11872 = 0;
SOURCE(3923, 14)
(* (( (ptr) &var←c18344)+8)/* outerKey←v5552 */ ) = 0;
SOURCE(3939, 42)
(* (( (ptr) &var←c18344)+9)/* outerProcData←v5580 */ ) = 0;
SOURCE(4241, 104)
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c18376)+59)/* var←c16168 */ ))+14) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd43 ))))((* (( (ptr) gf←c18376)+8)/* commandRegistry←v3000 */ ), (word) (( (bPt) &var←c18344)+24)
/* var←c17032 */ , pd43))) {
SOURCE(4310, 14)
(* (( (ptr) &var←c18344)+8)/* outerKey←v5552 */ ) = 0;
SOURCE(4326, 19)
(* (( (ptr) &var←c18344)+9)/* outerProcData←v5580 */ ) = 0;
};
};
SOURCE(4350, 46)
key←v11844 = (* (( (ptr) &var←c18344)+8)/* outerKey←v5552 */ );
procData←v11872 = (* (( (ptr) &var←c18344)+9)/* outerProcData←v5580 */ );
/* removed tail goto */
(* (ptr) formal←c0114 ) = key←v11844;
(* (( (ptr) formal←c0114)+1) ) = procData←v11872;
return;
}
static word EachPairProc←P1548(key←v12852, val←v12880, formal←c18440)
word key←v12852;
word val←v12880;
word formal←c18440;
{
register ptr gf←c18408 = (ptr) &globalframe;
word quit←v12924;
formal←c18440 = (formal←c18440 - 24);
/* EachPairProc: */
SOURCE(3983, 253)
SOURCE(3983, 253)
quit←v12924 = 0;
SOURCE(4023, 80)
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c18408)+61)/* var←c17064 */ ))+23) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd44 ))))((* (( (ptr) formal←c18440)+4) ), key←v12852, 0, pd44))) {
SOURCE(4090, 13)
return(0);
};
};
SOURCE(4105, 56)
(* (( (ptr) formal←c18440)+9) ) = XR←Narrow(val←v12880, (* (( (ptr) gf←c18408)+21) ));
SOURCE(4163, 14)
(* (( (ptr) formal←c18440)+8) ) = key←v12852;
SOURCE(4179, 57)
{
word pd45;
pd45 = (* (( (ptr) formal←c18440)+5) );
return((word) ( *( (fPt) ((* (ptr) pd45 ))))((* (( (ptr) formal←c18440)+8) ), (* (( (ptr) formal←c18440)+9) ), pd45));
};
}
static word GetProp←P540(cmd←v12340, key←v12368)
word cmd←v12340;
word key←v12368;
{
register ptr gf←c18472 = (ptr) &globalframe;
word value←v12412;
/* GetProp: */
SOURCE(4402, 258)
SOURCE(4402, 258)
value←v12412 = 0;
SOURCE(4451, 209)
{
register word lpPs←v5652;
lpPs←v5652 = (* (( (ptr) (* (( (ptr) gf←c18472)+9)/* hooks←v3028 */ ))+3) );
lab←L100034: ;
if ((lpPs←v5652 != 0)) {
}
else {
goto lab←L100031;
};
SOURCE(4528, 132)
{
word var←c17128;
var←c17128 = (* (( (ptr) lpPs←v5652)+1) );
if ((var←c17128 == 0)) {
goto lab←L100035;
};
if (((* (( (ptr) gf←c18472)+22) ) == XR←GetReferentType(var←c17128))) {
{
word refP←v5696;
refP←v5696 = var←c17128;
SOURCE(4584, 126)
{
word proc←v5752;
SOURCE(4586, 24)
proc←v5752 = (* (ptr) refP←v5696 );
SOURCE(4612, 22)
value←v12412 = (word) ( *( (fPt) ((* (ptr) proc←v5752 ))))(cmd←v12340, key←v12368, proc←v5752);
SOURCE(4636, 24)
if ((value←v12412 != 0)) {
SOURCE(4654, 6)
return(value←v12412);
};
};
};
}
else {
lab←L100035: ;
};
};
lpPs←v5652 = (* (( (ptr) lpPs←v5652)+2) );
goto lab←L100034;
lab←L100031: ;
};
SOURCE(4402, 258)
return(value←v12412);
}
static word GetWDir←P600()
{
register ptr gf←c18504 = (ptr) &globalframe;
word var←c4188;
word wDir←v5796 = 0;
word propList←v5824;
/* GetWDir: */
SOURCE(4770, 261)
SOURCE(4821, 49)
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c18504)+62)/* var←c17160 */ ))+6) );
propList←v5824 = (word) ( *( (fPt) ((* (ptr) pd46 ))))(pd46);
};
SOURCE(4872, 84)
{
word var←c17224;
{
word pd47;
pd47 = (* (( (ptr) (* (( (ptr) gf←c18504)+63)/* var←c17192 */ ))+20) );
var←c17224 = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) gf←c18504)+23) ), propList←v5824, pd47);
};
if ((var←c17224 == 0)) {
goto lab←L100036;
};
{
word tc48;
if (((* (( (ptr) gf←c18504)+19) ) == XR←GetReferentType(var←c17224))) {
tc48 = (word) ((*(int*)var←c17224<0) == 0);
}
else {
tc48 = (word) 0;
};
if (tc48) {
{
word rope←v5868;
rope←v5868 = var←c17224;
SOURCE(4945, 11)
wDir←v5796 = rope←v5868;
};
}
else {
lab←L100036: ;
};
};
};
SOURCE(4967, 50)
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c18504)+61)/* var←c17064 */ ))+13) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd49 ))))(wDir←v5796, pd49))) {
SOURCE(4994, 23)
wDir←v5796 = (word) GetDefaultWDir←P660();
};
};
SOURCE(5019, 12)
return(wDir←v5796);
}
static word GetDefaultWDir←P660()
{
register ptr gf←c18536 = (ptr) &globalframe;
word wdir←v4248;
/* GetDefaultWDir: */
SOURCE(5038, 102)
SOURCE(5038, 102)
wdir←v4248 = 0;
SOURCE(5089, 51)
{
word var←c17288;
{
word pd50;
pd50 = (* (( (ptr) (* (( (ptr) gf←c18536)+64)/* var←c17320 */ ))+4) );
var←c17288 = (word) ( *( (fPt) ((* (ptr) pd50 ))))((* ((( (ptr) gf←c18536)+25)) ), pd50);
};
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c18536)+61)/* var←c17064 */ ))+6) );
return((word) ( *( (fPt) ((* (ptr) pd51 ))))(var←c17288, (* (( (ptr) gf←c18536)+26) ), pd51));
};
};
}
static word PrependWorkingDir←P720(key←v4308)
word key←v4308;
{
word var←c4352;
/* PrependWorkingDir: */
SOURCE(5146, 74)
SOURCE(5208, 12)
return(key←v4308);
}
static word GetProperty←P780(formal←c0249, formal←c0250)
word formal←c0249;
word formal←c0250;
{
W8 var←c18568;
/* declaration of key←v4412 skipped */
/* declaration of aList←v4440 skipped */
register ptr gf←c18600 = (ptr) &globalframe;
/* declaration of var←c03 skipped */
/* declaration of val←v4496 skipped */
var←c18568.f4/* key←v4412 */ = formal←c0249;
var←c18568.f5/* aList←v4440 */ = formal←c0250;
/* GetProperty: */
SOURCE(5225, 627)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18600)+16)/* LOCK←v2776 */ ));
SOURCE(5225, 627)
var←c18568.f7/* val←v4496 */ = 0;
SOURCE(5322, 530)
{
word var←c04;
{
word var←c0224;
var←c0224 = (word) &var←c18568;
var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q2424) ), ( ((word) (fPt) NoName←Q2604) ), var←c0224);
};
/* removed trivial cond node */
};
return(var←c18568.f6/* var←c03 */ );
}
static word NoName←Q2424(formal←c0212)
word formal←c0212;
{
register ptr gf←c0211 = (ptr) &globalframe;
SOURCE(5345, 13)
{
word ropeKey←v5912 = 0;
SOURCE(5360, 40)
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c0211)+63)/* var←c17192 */ ))+20) );
(* (( (ptr) formal←c0212)+7) ) = (word) ( *( (fPt) ((* (ptr) pd52 ))))((* (( (ptr) formal←c0212)+4) ), (* (( (ptr) formal←c0212)+5)
), pd52);
};
SOURCE(5402, 24)
if (((* (( (ptr) formal←c0212)+7) ) != 0)) {
SOURCE(5420, 6)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0211)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0212)+6) ) = (* (( (ptr) formal←c0212)+7) );
return(1);
};
SOURCE(5428, 89)
{
word var←c17352;
word var←c17384;
var←c17352 = (* (( (ptr) formal←c0212)+4) );
if ((var←c17352 == 0)) {
goto lab←L100039;
};
var←c17384 = XR←GetReferentType(var←c17352);
{
word tc53;
if (((* (( (ptr) gf←c0211)+19) ) == var←c17384)) {
tc53 = (word) ((*(int*)var←c17352<0) == 0);
}
else {
tc53 = (word) 0;
};
if (tc53) {
{
word r←v5956;
r←v5956 = var←c17352;
SOURCE(5460, 11)
ropeKey←v5912 = r←v5956;
};
}
else {
if (((* (( (ptr) gf←c0211)+15) ) == var←c17384)) {
{
word t←v6000;
t←v6000 = var←c17352;
SOURCE(5488, 29)
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c0211)+61)/* var←c17064 */ ))+35) );
ropeKey←v5912 = (word) ( *( (fPt) ((* (ptr) pd54 ))))(t←v6000, 0, 32767, pd54);
};
};
}
else {
lab←L100039: ;
};
};
};
};
SOURCE(5528, 290)
if ((ropeKey←v5912 != 0)) {
SOURCE(5552, 266)
{
register word l←v6056;
l←v6056 = (* (( (ptr) formal←c0212)+5) );
lab←L100043: ;
if ((l←v6056 != 0)) {
}
else {
goto lab←L100040;
};
SOURCE(5603, 215)
{
word var←c17416;
word var←c17448;
var←c17416 = (* (ptr) (* (ptr) l←v6056 ) );
if ((var←c17416 == 0)) {
goto lab←L100044;
};
var←c17448 = XR←GetReferentType(var←c17416);
{
word tc55;
if (((* (( (ptr) gf←c0211)+19) ) == var←c17448)) {
tc55 = (word) ((*(int*)var←c17416<0) == 0);
}
else {
tc55 = (word) 0;
};
if (tc55) {
{
word r←v6100;
r←v6100 = var←c17416;
SOURCE(5643, 70)
{
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c0211)+61)/* var←c17064 */ ))+8) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd56 ))))(ropeKey←v5912, r←v6100, 1, pd56))) {
SOURCE(5694, 19)
/*1*/ {
/*1*/ word var←c17480;
/*1*/ var←c17480 = (* (( (ptr) (* (ptr) l←v6056 ))+1) );
/*1*/ (void) (XR←MonitorExit((word) (( (bPt) gf←c0211)+16)/* LOCK←v2776 */ ));
/*1*/ (* (( (ptr) formal←c0212)+6) ) = var←c17480;
/*1*/ return(1);
/*1*/ };
/*1*/ };
};
};
}
else {
if (((* (( (ptr) gf←c0211)+15) ) == var←c17448)) {
{
word t←v6144;
word var←c17512;
t←v6144 = var←c17416;
SOURCE(5730, 88)
{
/*1*/ word pd58;
/*1*/ {
/*1*/ word pd57;
/*1*/ pd57 = (* (( (ptr) (* (( (ptr) gf←c0211)+61)/* var←c17064 */ ))+35) );
/*1*/ var←c17512 = (word) ( *( (fPt) ((* (ptr) pd57 ))))(t←v6144, 0, 32767, pd57);
/*1*/ };
/*1*/ pd58 = (* (( (ptr) (* (( (ptr) gf←c0211)+61)/* var←c17064 */ ))+8) );
/*1*/ if ((0 != (word) ( *( (fPt) ((* (ptr) pd58 ))))(ropeKey←v5912, var←c17512, 1, pd58))) {
SOURCE(5799, 19)
/*1*/ {
/*1*/ word var←c17544;
/*1*/ var←c17544 = (* (( (ptr) (* (ptr) l←v6056 ))+1) );
/*1*/ (void) (XR←MonitorExit((word) (( (bPt) gf←c0211)+16)/* LOCK←v2776 */ ));
/*1*/ (* (( (ptr) formal←c0212)+6) ) = var←c17544;
/*1*/ return(1);
/*1*/ };
/*1*/ };
/*1*/ };
};
}
else {
lab←L100044: ;
};
};
};
};
l←v6056 = (* (( (ptr) l←v6056)+1) );
goto lab←L100043;
lab←L100040: ;
};
};
SOURCE(5841, 11)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0211)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0212)+6) ) = 0;
return(1);
};
/* c2c skipped dead code */
}
static word PutProperty←P840(formal←c0251, formal←c0252, formal←c0253)
word formal←c0251;
word formal←c0252;
word formal←c0253;
{
W8 var←c18632;
/* declaration of key←v4568 skipped */
/* declaration of val←v4596 skipped */
/* declaration of aList←v4624 skipped */
register ptr gf←c18664 = (ptr) &globalframe;
/* declaration of var←c05 skipped */
word var←c4692;
var←c18632.f4/* key←v4568 */ = formal←c0251;
var←c18632.f5/* val←v4596 */ = formal←c0252;
var←c18632.f6/* aList←v4624 */ = formal←c0253;
/* PutProperty: */
SOURCE(5857, 460)
(void) (XR←MonitorEntry((word) (( (bPt) gf←c18664)+16)/* LOCK←v2776 */ ));
SOURCE(5966, 351)
{
word var←c06;
{
word var←c0225;
var←c0225 = (word) &var←c18632;
var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q2484) ), ( ((word) (fPt) NoName←Q2544) ), var←c0225);
};
/* removed trivial cond node */
};
return(var←c18632.f7/* var←c05 */ );
}
static word NoName←Q2484(formal←c0215)
word formal←c0215;
{
register ptr gf←c0214 = (ptr) &globalframe;
SOURCE(5989, 253)
{
word tc60;
if (((* (( (ptr) formal←c0215)+4) ) == 0)) { goto then059;};
if (((* (( (ptr) gf←c0214)+19) ) == XR←GetReferentType(* (( (ptr) formal←c0215)+4) ))) {
tc60 = (word) ((*(int*)(* (( (ptr) formal←c0215)+4) )<0) == 0);
}
else {
tc60 = (word) 0;
};
if (tc60) {
then059: ;
SOURCE(6015, 244)
{
word ropeKey←v6200;
SOURCE(6017, 27)
ropeKey←v6200 = XR←Narrow((* (( (ptr) formal←c0215)+4) ), (* (( (ptr) gf←c0214)+19) ));
if ((ropeKey←v6200 == 0)) {
goto lab←L100047;
};
if (((*(int*)ropeKey←v6200<0) == 0)) {
goto lab←L100047;
};
(void) XR←RaiseError(XR←NarrowFault, 0);
lab←L100047: ;
SOURCE(6046, 196)
{
register word l←v6244;
word var←c17608;
word var←c17640;
l←v6244 = (* (( (ptr) formal←c0215)+6) );
lab←L100051: ;
if ((l←v6244 != 0)) {
}
else {
goto lab←L100048;
};
SOURCE(6097, 145)
{
word tc61;
var←c17608 = (* (ptr) (* (ptr) l←v6244 ) );
if ((var←c17608 == 0)) {
tc61 = (word) 1;
}
else {
if (((* (( (ptr) gf←c0214)+19) ) == XR←GetReferentType(var←c17608))) {
tc61 = (word) ((*(int*)var←c17608<0) == 0);
}
else {
tc61 = (word) 0;
};
};
if (tc61) {
SOURCE(6133, 109)
{
word pd62;
{
word var←c17672;
var←c17672 = XR←Narrow((* (ptr) (* (ptr) l←v6244 ) ), (* (( (ptr) gf←c0214)+19) ));
if ((var←c17672 == 0)) {
/*1*/ goto lab←L100052;
/*1*/ };
if (((*(int*)var←c17672<0) == 0)) {
/*1*/ goto lab←L100052;
/*1*/ };
(void) XR←RaiseError(XR←NarrowFault, 0);
lab←L100052: ;
var←c17640 = var←c17672;
};
pd62 = (* (( (ptr) (* (( (ptr) gf←c0214)+61)/* var←c17064 */ ))+8) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd62 ))))(ropeKey←v6200, var←c17640, 1, pd62))) {
SOURCE(6210, 17)
(* (( (ptr) (* (ptr) l←v6244 ))+1) ) = (* (( (ptr) formal←c0215)+5) );
SOURCE(6229, 13)
(void) (XR←MonitorExit((word) (( (bPt) gf←c0214)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0215)+7) ) = (* (( (ptr) formal←c0215)+6) );
return(1);
};
};
};
};
l←v6244 = (* (( (ptr) l←v6244)+1) );
goto lab←L100051;
lab←L100048: ;
};
};
};
};
SOURCE(6262, 55)
{
word var←c17704;
{
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c0214)+63)/* var←c17192 */ ))+22) );
var←c17704 = (word) ( *( (fPt) ((* (ptr) pd63 ))))((* (( (ptr) formal←c0215)+4) ), (* (( (ptr) formal←c0215)+5) ), (* (( (ptr) formal←c0215)+6)
), pd63);
};
(void) (XR←MonitorExit((word) (( (bPt) gf←c0214)+16)/* LOCK←v2776 */ ));
(* (( (ptr) formal←c0215)+7) ) = var←c17704;
return(1);
};
/* c2c skipped dead code */
}
static void NoName←Q2544(formal←c0164, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
word formal←c0164;
word formal←c200016;
word formal←c200017;
word formal←c200018;
word formal←c200019;
{
register ptr gf←c0216 = (ptr) &globalframe;
if ((formal←c200017 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0216)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0164 ) = 0;
(* (( (ptr) formal←c0164)+1) ) = 0;
return;
}
static void NoName←Q2604(formal←c0169, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
word formal←c0169;
word formal←c200012;
word formal←c200013;
word formal←c200014;
word formal←c200015;
{
register ptr gf←c0217 = (ptr) &globalframe;
if ((formal←c200013 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0217)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0169 ) = 0;
(* (( (ptr) formal←c0169)+1) ) = 0;
return;
}
static void NoName←Q2664(formal←c0174, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
word formal←c0174;
word formal←c200008;
word formal←c200009;
word formal←c200010;
word formal←c200011;
{
register ptr gf←c0218 = (ptr) &globalframe;
if ((formal←c200009 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0218)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0174 ) = 0;
(* (( (ptr) formal←c0174)+1) ) = 0;
return;
}
static void NoName←Q2724(formal←c0179, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0179;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0219 = (ptr) &globalframe;
if ((formal←c200005 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0219)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0179 ) = 0;
(* (( (ptr) formal←c0179)+1) ) = 0;
return;
}
static void NoName←Q2784(formal←c0184, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0184;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0220 = (ptr) &globalframe;
if ((formal←c200001 == XR←Unwind)) {
(void) (XR←MonitorExit((word) (( (bPt) gf←c0220)+16)/* LOCK←v2776 */ ));
};
(* (ptr) formal←c0184 ) = 0;
(* (( (ptr) formal←c0184)+1) ) = 0;
return;
}
/* file: CommanderImpl, module: CommanderImpl, compiled at: January 19, 1993 12:22:12 pm PST */
extern void XR←install←CommanderImpl() {
NoName←Q2184();
}
extern void XR←run←CommanderImpl() { XR←Start(&globalframe); }