/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1994 by Xerox Corporation. All rights reserved. */
/* time: March 23, 1994 11:23:59 am PST */
/* C2C version: January 12, 1994 (sun4) */
/* ref-counting: off */
/* file: UXIOImpl, module: UXIOImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1368658862,2044132549] UXIOImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W16 f; W3 r;} W19;
typedef word (*fPt)();
typedef W16 *W16Pt;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3;} W4;
#define SOURCE(p, l) /* source p, l */
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static void NoName←Q2436();
static void UXIOImpl←P0();
static word CreateStandardStream←P60();
static word CreateFileStream←P120();
static word GetChar←P180();
static word EndOfInput←P240();
static void PutChar←P300();
static word UnsafeGetBlock←P360();
static void UnsafePutBlock←P420();
static word GetIndex←P480();
static void SetIndex←P540();
static void GetStat←P600();
static word GetLength←P660();
static word EndOf←P720();
static void Backup←P780();
static void Flush←P840();
static void Close←P900();
static void ResetInput←P960();
static word InputCharsAvail←P1020();
static void Delete←P1080();
static word OpenFileFromStream←P1140();
static word GetCreateTime←P1200();
static word GetName←P1260();
static word ExpandName←P1320();
static word GetWDir←P1380();
static word GetDefaultWDir←P1440();
static word RopeOpen←P1500();
static void RopeDelete←P1560();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
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[16];} string4 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string5 = {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];} string6 = {851984, "\257\300\042\153\070\214\300\322\115\214\301\100\230\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\121\224\023\256\300\171\326\374\305\100\214\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\003\001\000"};
static struct {unsigned f; char r[12];} string9 = {524300, "FileName\000\000\000"};
static struct {unsigned f; char r[4];} string10 = {131076, "FD\000"};
static struct {unsigned f; char r[20];} string11 = {1048596, "WorkingDirectory\000\000\000"};
static struct {unsigned f; char r[12];} string12 = {524300, "UXFileIO\000\000\000"};
static struct {unsigned f; char r[8];} string13 = {458760, "UXStdIO"};
static struct {unsigned f; char r[44];} string14 = {2752556, "read failed to return any bytes in GetChar\000"};
static struct {unsigned f; char r[52];} string15 = {3211316, "read failed to return any bytes in UnsafeGetBlock\000\000"};
static struct {unsigned f; char r[52];} string16 = {3211316, "write failed to write any bytes in UnsafePutBlock\000\000"};
static struct {unsigned f; char r[28];} string17 = {1572892, "lseek failed in GetIndex\000\000\000"};
static struct {unsigned f; char r[28];} string18 = {1572892, "lseek failed in SetIndex\000\000\000"};
static struct {unsigned f; char r[24];} string19 = {1507352, "fstat failed in GetStat"};
static struct {unsigned f; char r[24];} string20 = {1376280, "lseek failed in EndOf\000\000"};
static struct {unsigned f; char r[24];} string21 = {1441816, "lseek failed in Backup\000"};
static struct {unsigned f; char r[24];} string22 = {1376280, "fsync failed in Flush\000\000"};
static struct {unsigned f; char r[16];} string23 = {786448, "close failed\000\000\000"};
static struct {unsigned f; char r[4];} string24 = {196612, "PWD"};
static struct {unsigned f; char r[4];} string25 = {65540, "/\000\000"};
static struct {unsigned f; char r[24];} string26 = {1441816, "empty name in RopeOpen\000"};
static struct {unsigned f; char r[24];} string27 = {1507352, "open failed in RopeOpen"};
static struct {unsigned f; char r[28];} string28 = {1572892, "empty name in RopeDelete\000\000\000"};
static struct {unsigned f; char r[28];} string29 = {1769500, "unlink failed in RopeDelete"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\121\224\023\256\300\171\326\374\305\100\164\000\000"};
static struct {unsigned f; char r[20];} string31 = {1048592, "\006\005\020\001\024\001\030\001\034\001\074\010\000\004\025\001\000\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\273\264\166\314\300\142\321\237\137\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\314\116\377\204\300\167\024\373\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\332\223\177\020\300\304\076\102\260\100\164\000\000"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\322\342\022\352\300\100\014\165\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\211\056\077\074\300\127\047\310\242\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\241\235\001\025\300\065\011\226\172\100\150\000\000"};
static struct {
word f0[37]; 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; word f59;
word f60; word f61; word f62; word f63;
word f64; word f65; word f66; word f67;
word f68; word f69; word f70; word f71;
word f72; word f73; word f74; word f75;
word f76; word f77; word f78; word f79;
word f80; word f81; word f82; word f83;
word f84; word f85; word f86; word f87;
word f88; word f89; word f90[11];
} globalframe = {
{0}, (word) RopeDelete←P1560, 0, (word) RopeOpen←P1500,
0, (word) GetDefaultWDir←P1440, 0, (word) GetWDir←P1380,
0, (word) ExpandName←P1320, 0, (word) GetName←P1260,
0, (word) GetCreateTime←P1200, 0, (word) OpenFileFromStream←P1140,
0, (word) Delete←P1080, 0, (word) InputCharsAvail←P1020,
0, (word) ResetInput←P960, 0, (word) Close←P900,
0, (word) Flush←P840, 0, (word) Backup←P780,
0, (word) EndOf←P720, 0, (word) GetLength←P660,
0, (word) GetStat←P600, 0, (word) SetIndex←P540,
0, (word) GetIndex←P480, 0, (word) UnsafePutBlock←P420,
0, (word) UnsafeGetBlock←P360, 0, (word) PutChar←P300,
0, (word) EndOfInput←P240, 0, (word) GetChar←P180,
0, (word) CreateFileStream←P120, 0, (word) CreateStandardStream←P60,
0, (word) UXIOImpl←P0, {0}
};
static void NoName←Q2436()
{
register ptr gf←c0224 = (ptr) &globalframe;
word var←c27832;
(* (( (ptr) gf←c0224)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0224)+9) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
(* (( (ptr) gf←c0224)+11) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0224)+12) ) = (word) XR←GetTypeIndexS((word) (&string6));
(* (( (ptr) gf←c0224)+14) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
(* (ptr) (( (bPt) gf←c0224)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+8) ), (word) &string9);
(* (ptr) (( (bPt) gf←c0224)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+8) ), (word) &string10);
(* (ptr) (( (bPt) gf←c0224)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+8) ), (word) &string11);
(* (ptr) (( (bPt) gf←c0224)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+8) ), (word) &string12);
(* (ptr) (( (bPt) gf←c0224)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+8) ), (word) &string13);
(* (ptr) (( (bPt) gf←c0224)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string14);
(* (ptr) (( (bPt) gf←c0224)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0224)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string16);
(* (ptr) (( (bPt) gf←c0224)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string17);
(* (ptr) (( (bPt) gf←c0224)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string18);
(* (ptr) (( (bPt) gf←c0224)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string19);
(* (ptr) (( (bPt) gf←c0224)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string20);
(* (ptr) (( (bPt) gf←c0224)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string21);
(* (ptr) (( (bPt) gf←c0224)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string22);
(* (ptr) (( (bPt) gf←c0224)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string23);
(* (ptr) (( (bPt) gf←c0224)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string24);
(* (ptr) (( (bPt) gf←c0224)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string25);
(* (ptr) (( (bPt) gf←c0224)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string26);
(* (ptr) (( (bPt) gf←c0224)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string27);
(* (ptr) (( (bPt) gf←c0224)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string28);
(* (ptr) (( (bPt) gf←c0224)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0224)+9) ), (word) &string29);
(void) XR←DeclareGlobalFrame((word) "UXIOImpl", &globalframe, (word) XR←GetTypeIndex((word) &string30, 0, (word) &string31)
, (word) (( (bPt) gf←c0224)+356)/* var←c26168 */ );
var←c27832 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string32)), 16);
(* (( (ptr) gf←c0224)+93)/* var←c26616 */ ) = var←c27832;
(void) XR←ImportProcS(var←c27832, 67897859);
var←c27832 = (word) XR←ImportInterface((word) "HostTime", (word) XR←GetTypeIndexS((word) (&string33)), 8);
(* (( (ptr) gf←c0224)+95)/* var←c27256 */ ) = var←c27832;
(void) XR←ImportProcS(var←c27832, 135266305);
var←c27832 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string34)), 103);
(* (( (ptr) gf←c0224)+91)/* var←c26200 */ ) = var←c27832;
(void) XR←ImportProcS(var←c27832, 67921155);
(void) XR←ImportProcS(var←c27832, 72115219);
var←c27832 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string35)), 28);
(* (( (ptr) gf←c0224)+97)/* var←c27384 */ ) = var←c27832;
(void) XR←ImportProcS(var←c27832, 67637250);
var←c27832 = (word) XR←ImportInterface((word) "ProcessProps", (word) XR←GetTypeIndexS((word) (&string36)), 6);
(* (( (ptr) gf←c0224)+96)/* var←c27352 */ ) = var←c27832;
(void) XR←ImportProcS(var←c27832, 67109376);
var←c27832 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string37)), 43);
(* (( (ptr) gf←c0224)+92)/* var←c26584 */ ) = var←c27832;
(void) XR←ImportProcS(var←c27832, 67373569);
(void) XR←ImportProcS(var←c27832, 67373313);
(void) XR←ImportProcS(var←c27832, 67633666);
(void) XR←ImportProcS(var←c27832, 67634434);
(void) XR←ImportProcS(var←c27832, 67896323);
(void) XR←ImportProcS(var←c27832, 67901955);
var←c27832 = (word) XR←ImportInterface((word) "RefText", (word) XR←GetTypeIndexS((word) (&string38)), 26);
(* (( (ptr) gf←c0224)+99)/* var←c27608 */ ) = var←c27832;
(void) XR←ImportProcS(var←c27832, 262913);
(void) XR←ImportProcS(var←c27832, 68158980);
(void) XR←ImportProcS(var←c27832, 67634946);
(void) XR←ImportProcS(var←c27832, 67371521);
var←c27832 = (word) XR←ImportInterface((word) "UnixEnviron", (word) XR←GetTypeIndexS((word) (&string39)), 1);
(* (( (ptr) gf←c0224)+98)/* var←c27512 */ ) = var←c27832;
(void) XR←ImportProcS(var←c27832, 67371009);
var←c27832 = (word) XR←ImportInterface((word) "UnixSysCalls", (word) XR←GetTypeIndexS((word) (&string40)), 77);
(* (( (ptr) gf←c0224)+94)/* var←c26712 */ ) = var←c27832;
(void) XR←ImportProcS(var←c27832, 67389697);
(void) XR←ImportProcS(var←c27832, 67906563);
(void) XR←ImportProcS(var←c27832, 67372289);
(void) XR←ImportProcS(var←c27832, 67373313);
(void) XR←ImportProcS(var←c27832, 67650050);
(void) XR←ImportProcS(var←c27832, 67904515);
(void) XR←ImportProcS(var←c27832, 67914499);
(void) XR←ImportProcS(var←c27832, 67907587);
var←c27832 = (word) XR←ExportInterface((word) "UXIO", (word) XR←GetTypeIndexS((word) (&string41)), 7);
(* (( (ptr) gf←c0224)+100)/* var←c27864 */ ) = var←c27832;
(void) XR←ExportProcS(var←c27832, (word) (( (bPt) gf←c0224)+348)/* var←c26136 */ , 67371009, (word) "CreateStandardStream")
;
(void) XR←ExportProcS(var←c27832, (word) (( (bPt) gf←c0224)+340)/* var←c26104 */ , 67895555, (word) "CreateFileStream");
(void) XR←ExportVar(var←c27832, 2, (word) (( (bPt) gf←c0224)+144)/* var←c25304 */ );
(void) XR←ExportProcS(var←c27832, (word) (( (bPt) gf←c0224)+204)/* var←c25560 */ , 67371777, (word) "OpenFileFromStream")
;
(void) XR←ExportProcS(var←c27832, (word) (( (bPt) gf←c0224)+196)/* var←c25528 */ , 67372033, (word) "GetCreateTime");
(void) XR←ExportProcS(var←c27832, (word) (( (bPt) gf←c0224)+188)/* var←c25496 */ , 67372289, (word) "GetName");
(void) XR←ExportProcS(var←c27832, (word) (( (bPt) gf←c0224)+212)/* var←c25592 */ , 263681, (word) "Delete");
}
static void UXIOImpl←P0(formal←c051, formal←c046)
word formal←c051;
word formal←c046;
{
register ptr gf←c27896 = (ptr) &globalframe;
/* UXIOImpl: */
SOURCE(620, 10464)
SOURCE(1131, 177)
{
W19 var←c047;
(* (ptr) (word) &var←c047 ) = 0;
(* (( (ptr) (word) &var←c047) + 1) ) = (* (( (ptr) gf←c27896)+19) );
(* (( (ptr) (word) &var←c047) + 2) ) = (word) (( (bPt) gf←c27896)+332)/* var←c26072 */ ;
(* (( (ptr) (word) &var←c047) + 3) ) = 0;
(* (( (ptr) (word) &var←c047) + 4) ) = 0;
(* (( (ptr) (word) &var←c047) + 5) ) = (word) (( (bPt) gf←c27896)+324)/* var←c26040 */ ;
(* (( (ptr) (word) &var←c047) + 6) ) = (word) (( (bPt) gf←c27896)+220)/* var←c25624 */ ;
(* (( (ptr) (word) &var←c047) + 7) ) = 0;
(* (( (ptr) (word) &var←c047) + 8) ) = 0;
(* (( (ptr) (word) &var←c047) + 9) ) = 0;
(* (( (ptr) (word) &var←c047) + 10) ) = 0;
(* (( (ptr) (word) &var←c047) + 11) ) = 0;
(* (( (ptr) (word) &var←c047) + 12) ) = (word) (( (bPt) gf←c27896)+228)/* var←c25656 */ ;
(* (( (ptr) (word) &var←c047) + 13) ) = 0;
(* (( (ptr) (word) &var←c047) + 14) ) = 0;
(* (( (ptr) (word) &var←c047) + 15) ) = 0;
(* (( (ptr) (word) &var←c047) + 16) ) = 0;
(* (( (ptr) (word) &var←c047) + 17) ) = 0;
(* (( (ptr) (word) &var←c047) + 18) ) = 0;
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c27896)+91)/* var←c26200 */ ))+104) );
(* (( (ptr) gf←c27896)+4)/* stdInputProcs←v3280 */ ) = (word) ( *( (fPt) ((* (ptr) pd42 ))))((word) (&var←c047), pd42);
};
};
SOURCE(1311, 144)
{
W19 var←c048;
(* (ptr) (word) &var←c048 ) = 1;
(* (( (ptr) (word) &var←c048) + 1) ) = (* (( (ptr) gf←c27896)+19) );
(* (( (ptr) (word) &var←c048) + 2) ) = 0;
(* (( (ptr) (word) &var←c048) + 3) ) = 0;
(* (( (ptr) (word) &var←c048) + 4) ) = 0;
(* (( (ptr) (word) &var←c048) + 5) ) = 0;
(* (( (ptr) (word) &var←c048) + 6) ) = 0;
(* (( (ptr) (word) &var←c048) + 7) ) = 0;
(* (( (ptr) (word) &var←c048) + 8) ) = (word) (( (bPt) gf←c27896)+316)/* var←c26008 */ ;
(* (( (ptr) (word) &var←c048) + 9) ) = 0;
(* (( (ptr) (word) &var←c048) + 10) ) = (word) (( (bPt) gf←c27896)+300)/* var←c25944 */ ;
(* (( (ptr) (word) &var←c048) + 11) ) = 0;
(* (( (ptr) (word) &var←c048) + 12) ) = 0;
(* (( (ptr) (word) &var←c048) + 13) ) = 0;
(* (( (ptr) (word) &var←c048) + 14) ) = 0;
(* (( (ptr) (word) &var←c048) + 15) ) = 0;
(* (( (ptr) (word) &var←c048) + 16) ) = 0;
(* (( (ptr) (word) &var←c048) + 17) ) = 0;
(* (( (ptr) (word) &var←c048) + 18) ) = 0;
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c27896)+91)/* var←c26200 */ ))+104) );
(* (( (ptr) gf←c27896)+5)/* stdOutputProcs←v3308 */ ) = (word) ( *( (fPt) ((* (ptr) pd43 ))))((word) (&var←c048), pd43)
;
};
};
SOURCE(1458, 250)
{
W19 var←c049;
(* (ptr) (word) &var←c049 ) = 0;
(* (( (ptr) (word) &var←c049) + 1) ) = (* (( (ptr) gf←c27896)+18) );
(* (( (ptr) (word) &var←c049) + 2) ) = (word) (( (bPt) gf←c27896)+332)/* var←c26072 */ ;
(* (( (ptr) (word) &var←c049) + 3) ) = 0;
(* (( (ptr) (word) &var←c049) + 4) ) = (word) (( (bPt) gf←c27896)+308)/* var←c25976 */ ;
(* (( (ptr) (word) &var←c049) + 5) ) = (word) (( (bPt) gf←c27896)+260)/* var←c25784 */ ;
(* (( (ptr) (word) &var←c049) + 6) ) = 0;
(* (( (ptr) (word) &var←c049) + 7) ) = (word) (( (bPt) gf←c27896)+252)/* var←c25752 */ ;
(* (( (ptr) (word) &var←c049) + 8) ) = 0;
(* (( (ptr) (word) &var←c049) + 9) ) = 0;
(* (( (ptr) (word) &var←c049) + 10) ) = 0;
(* (( (ptr) (word) &var←c049) + 11) ) = 0;
(* (( (ptr) (word) &var←c049) + 12) ) = 0;
(* (( (ptr) (word) &var←c049) + 13) ) = (word) (( (bPt) gf←c27896)+236)/* var←c25688 */ ;
(* (( (ptr) (word) &var←c049) + 14) ) = (word) (( (bPt) gf←c27896)+292)/* var←c25912 */ ;
(* (( (ptr) (word) &var←c049) + 15) ) = (word) (( (bPt) gf←c27896)+284)/* var←c25880 */ ;
(* (( (ptr) (word) &var←c049) + 16) ) = (word) (( (bPt) gf←c27896)+268)/* var←c25816 */ ;
(* (( (ptr) (word) &var←c049) + 17) ) = 0;
(* (( (ptr) (word) &var←c049) + 18) ) = 0;
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c27896)+91)/* var←c26200 */ ))+104) );
(* (( (ptr) gf←c27896)+6)/* fileInputProcs←v3336 */ ) = (word) ( *( (fPt) ((* (ptr) pd44 ))))((word) (&var←c049), pd44)
;
};
};
SOURCE(1711, 236)
{
W19 var←c050;
(* (ptr) (word) &var←c050 ) = 1;
(* (( (ptr) (word) &var←c050) + 1) ) = (* (( (ptr) gf←c27896)+18) );
(* (( (ptr) (word) &var←c050) + 2) ) = 0;
(* (( (ptr) (word) &var←c050) + 3) ) = 0;
(* (( (ptr) (word) &var←c050) + 4) ) = 0;
(* (( (ptr) (word) &var←c050) + 5) ) = 0;
(* (( (ptr) (word) &var←c050) + 6) ) = 0;
(* (( (ptr) (word) &var←c050) + 7) ) = 0;
(* (( (ptr) (word) &var←c050) + 8) ) = (word) (( (bPt) gf←c27896)+316)/* var←c26008 */ ;
(* (( (ptr) (word) &var←c050) + 9) ) = 0;
(* (( (ptr) (word) &var←c050) + 10) ) = (word) (( (bPt) gf←c27896)+300)/* var←c25944 */ ;
(* (( (ptr) (word) &var←c050) + 11) ) = (word) (( (bPt) gf←c27896)+244)/* var←c25720 */ ;
(* (( (ptr) (word) &var←c050) + 12) ) = 0;
(* (( (ptr) (word) &var←c050) + 13) ) = (word) (( (bPt) gf←c27896)+236)/* var←c25688 */ ;
(* (( (ptr) (word) &var←c050) + 14) ) = (word) (( (bPt) gf←c27896)+292)/* var←c25912 */ ;
(* (( (ptr) (word) &var←c050) + 15) ) = (word) (( (bPt) gf←c27896)+284)/* var←c25880 */ ;
(* (( (ptr) (word) &var←c050) + 16) ) = (word) (( (bPt) gf←c27896)+268)/* var←c25816 */ ;
(* (( (ptr) (word) &var←c050) + 17) ) = 0;
(* (( (ptr) (word) &var←c050) + 18) ) = 0;
{
word pd45;
pd45 = (* (( (ptr) (* (( (ptr) gf←c27896)+91)/* var←c26200 */ ))+104) );
(* (( (ptr) gf←c27896)+7)/* fileOutputProcs←v3364 */ ) = (word) ( *( (fPt) ((* (ptr) pd45 ))))((word) (&var←c050), pd45)
;
};
};
}
static word CreateStandardStream←P60(kind←v4576)
word kind←v4576;
{
register ptr gf←c27928 = (ptr) &globalframe;
word stream←v4620;
/* CreateStandardStream: */
SOURCE(1950, 426)
SOURCE(1950, 426)
stream←v4620 = 0;
SOURCE(2034, 342)
{
word var←c26232;
var←c26232 = kind←v4576;
switch (var←c26232) {
case 0:
SOURCE(2060, 97)
{
word var←c26264;
{
word var←c26296;
var←c26296 = XR←NewObject(12, (* (( (ptr) gf←c27928)+14) ));
(* (ptr) var←c26296 ) = (word) -2;
var←c26264 = var←c26296;
};
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c27928)+91)/* var←c26200 */ ))+105) );
stream←v4620 = (word) ( *( (fPt) ((* (ptr) pd46 ))))((* (( (ptr) gf←c27928)+4)/* stdInputProcs←v3280 */ ), var←c26264, 0, pd46)
;
};
};
break;
case 1:
SOURCE(2169, 98)
{
word var←c26328;
{
word var←c26360;
var←c26360 = XR←NewObject(12, (* (( (ptr) gf←c27928)+14) ));
(* (ptr) var←c26360 ) = (word) -3;
var←c26328 = var←c26360;
};
{
word pd47;
pd47 = (* (( (ptr) (* (( (ptr) gf←c27928)+91)/* var←c26200 */ ))+105) );
stream←v4620 = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) gf←c27928)+5)/* stdOutputProcs←v3308 */ ), var←c26328, 0, pd47)
;
};
};
break;
case 2:
SOURCE(2278, 98)
{
word var←c26392;
{
word var←c26424;
var←c26424 = XR←NewObject(12, (* (( (ptr) gf←c27928)+14) ));
(* (ptr) var←c26424 ) = (word) -4;
var←c26392 = var←c26424;
};
{
word pd48;
pd48 = (* (( (ptr) (* (( (ptr) gf←c27928)+91)/* var←c26200 */ ))+105) );
stream←v4620 = (word) ( *( (fPt) ((* (ptr) pd48 ))))((* (( (ptr) gf←c27928)+5)/* stdOutputProcs←v3308 */ ), var←c26392, 0, pd48)
;
};
};
break;
};
};
SOURCE(1950, 426)
return(stream←v4620);
}
static word CreateFileStream←P120(name←v5176, access←v5204, mode←v5232)
word name←v5176;
word access←v5204;
word mode←v5232;
{
register ptr gf←c27960 = (ptr) &globalframe;
word stream←v5276;
word fileFlags←v7648;
W3 var←c26456;
word fd←v7676;
/* CreateFileStream: */
SOURCE(3430, 553)
SOURCE(3430, 553)
stream←v5276 = 0;
SOURCE(3572, 69)
var←c26456.f0 = 0;
var←c26456.f1 = 265;
var←c26456.f2 = 769;
fileFlags←v7648 = (* (( (ptr) &var←c26456)+access←v5204) );
SOURCE(3643, 40)
fd←v7676 = (word) RopeOpen←P1500(name←v5176, fileFlags←v7648, mode←v5232);
SOURCE(3685, 138)
{
word var←c26488;
{
word var←c26520;
var←c26520 = XR←NewObject(12, (* (( (ptr) gf←c27960)+14) ));
(* (ptr) var←c26520 ) = fd←v7676;
(* (( (ptr) var←c26520)+1) ) = name←v5176;
var←c26488 = var←c26520;
};
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c27960)+91)/* var←c26200 */ ))+105) );
stream←v5276 = (word) ( *( (fPt) ((* (ptr) pd49 ))))( ( (access←v5204 == 0) ? (* (( (ptr) gf←c27960)+6)/* fileInputProcs←v3336 */ ) : (* (
( (ptr) gf←c27960)+7)/* fileOutputProcs←v3364 */ ) ) , var←c26488, 0, pd49);
};
};
SOURCE(3825, 84)
{
word var←c26552;
{
word pd50;
pd50 = (* (( (ptr) (* (( (ptr) gf←c27960)+92)/* var←c26584 */ ))+30) );
var←c26552 = (word) ( *( (fPt) ((* (ptr) pd50 ))))(name←v5176, 0, 2147483647, pd50);
};
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c27960)+93)/* var←c26616 */ ))+14) );
(* (( (ptr) stream←v5276)+2) ) = (word) ( *( (fPt) ((* (ptr) pd51 ))))((* (( (ptr) stream←v5276)+2) ), (* (( (ptr) gf←c27960)+15)
), var←c26552, pd51);
};
};
SOURCE(3911, 72)
{
word var←c26648;
{
word var←c26680;
var←c26680 = XR←NewObject(4, (* (( (ptr) gf←c27960)+12) ));
(* (ptr) var←c26680 ) = fd←v7676;
var←c26648 = var←c26680;
};
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c27960)+93)/* var←c26616 */ ))+14) );
(* (( (ptr) stream←v5276)+2) ) = (word) ( *( (fPt) ((* (ptr) pd52 ))))((* (( (ptr) stream←v5276)+2) ), (* (( (ptr) gf←c27960)+16)
), var←c26648, pd52);
};
};
SOURCE(3430, 553)
return(stream←v5276);
}
static word GetChar←P180(self←v5372)
word self←v5372;
{
register ptr gf←c27992 = (ptr) &globalframe;
word var←c5416;
word data←v7720;
word charsRead←v7748;
word chars←v7776;
/* GetChar: */
SOURCE(4100, 460)
SOURCE(4151, 46)
data←v7720 = XR←Narrow((* (( (ptr) self←v5372)+1) ), (* (( (ptr) gf←c27992)+14) ));
SOURCE(4278, 60)
SOURCE(4279, 59)
{
word pd53;
pd53 = (* (( (ptr) (* (( (ptr) gf←c27992)+94)/* var←c26712 */ ))+52) );
charsRead←v7748 = (word) ( *( (fPt) ((* (ptr) pd53 ))))((* (ptr) data←v7720 ), (word) &chars←v7776, 1, pd53);
};
SOURCE(4341, 50)
if (( (int)charsRead←v7748 == (int)0)) {
SOURCE(4365, 26)
{
word var←c078;
var←c078 = self←v5372;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c27992)+91)/* var←c26200 */ ))+4) ), (word) &var←c078);
};
};
SOURCE(4396, 143)
if (( (int)charsRead←v7748 < (int)0)) {
SOURCE(4418, 123)
{
word errno←v7832;
SOURCE(4420, 45)
errno←v7832 = (word) XR←GetErrno();
SOURCE(4467, 72)
{
W3 var←c081;
var←c081.f0 = 4;
var←c081.f1 = 0;
var←c081.f2 = (* (( (ptr) gf←c27992)+20) );
(void) XR←RaiseError((word) (( (bPt) gf←c27992)+144)/* var←c25304 */ , (word) &var←c081);
};
};
};
SOURCE(4544, 16)
return( (unsigned) (* (bPt) &chars←v7776 ));
}
static word EndOfInput←P240(self←v5476)
word self←v5476;
{
word var←c5520;
word backing←v7876;
/* EndOfInput: */
SOURCE(4566, 178)
SOURCE(4620, 39)
backing←v7876 = (* (( (ptr) self←v5476)+3) );
SOURCE(4661, 83)
if ((backing←v7876 != 0)) {
SOURCE(4683, 48)
{
word pd54;
pd54 = (* (( (ptr) (* (ptr) backing←v7876 ))+3) );
return((word) ( *( (fPt) ((* (ptr) pd54 ))))(backing←v7876, pd54));
};
}
else {
SOURCE(4731, 13)
return(0);
};
}
static void PutChar←P300(self←v5580, char←v5608)
word self←v5580;
word char←v5608;
{
register ptr gf←c28024 = (ptr) &globalframe;
word data←v7920;
word charsWritten←v7948;
word chars←v7976;
/* PutChar: */
SOURCE(4778, 259)
SOURCE(4826, 46)
data←v7920 = XR←Narrow((* (( (ptr) self←v5580)+1) ), (* (( (ptr) gf←c28024)+14) ));
SOURCE(4948, 15)
(* (bPt) &chars←v7976 ) = char←v5608;
SOURCE(4973, 64)
SOURCE(4974, 63)
{
word pd55;
pd55 = (* (( (ptr) (* (( (ptr) gf←c28024)+94)/* var←c26712 */ ))+79) );
charsWritten←v7948 = (word) ( *( (fPt) ((* (ptr) pd55 ))))((* (ptr) data←v7920 ), (word) &chars←v7976, 1, pd55);
};
}
static word UnsafeGetBlock←P360(self←v5668, block←v5696)
word self←v5668;
W3 block←v5696;
{
register ptr gf←c28056 = (ptr) &globalframe;
word nBytesRead←v5740;
word data←v8032;
word pointer←v8060;
word n←v8088;
/* UnsafeGetBlock: */
SOURCE(5044, 480)
SOURCE(5157, 46)
data←v8032 = XR←Narrow((* (( (ptr) self←v5668)+1) ), (* (( (ptr) gf←c28056)+14) ));
SOURCE(5205, 81)
{
word idx56;
pointer←v8060 = (block←v5696.f0 + (
idx56 = (word) block←v5696.f1,
SGNCK(idx56)
));
};
SOURCE(5305, 63)
{
word pd57;
word idx58;
pd57 = (* (( (ptr) (* (( (ptr) gf←c28056)+94)/* var←c26712 */ ))+52) );
n←v8088 = (word) ( *( (fPt) ((* (ptr) pd57 ))))((* (ptr) data←v8032 ), pointer←v8060, (
idx58 = (word) block←v5696.f2,
SGNCK(idx58)
), pd57);
};
SOURCE(5370, 140)
if (( (int)n←v8088 < (int)0)) {
SOURCE(5382, 130)
{
word errno←v8156;
SOURCE(5384, 45)
errno←v8156 = (word) XR←GetErrno();
SOURCE(5431, 79)
{
W3 var←c098;
var←c098.f0 = 4;
var←c098.f1 = 0;
var←c098.f2 = (* (( (ptr) gf←c28056)+21) );
(void) XR←RaiseError((word) (( (bPt) gf←c28056)+144)/* var←c25304 */ , (word) &var←c098);
};
};
};
SOURCE(5515, 9)
return(n←v8088);
}
static void UnsafePutBlock←P420(self←v5800, block←v5828)
word self←v5800;
W3 block←v5828;
{
register ptr gf←c28088 = (ptr) &globalframe;
word data←v8200;
word start←v8228;
word stop←v8256;
/* UnsafePutBlock: */
SOURCE(5530, 529)
SOURCE(5600, 46)
data←v8200 = XR←Narrow((* (( (ptr) self←v5800)+1) ), (* (( (ptr) gf←c28088)+14) ));
SOURCE(5648, 35)
{
word idx59;
start←v8228 = (
idx59 = (word) block←v5828.f1,
SGNCK(idx59)
);
};
SOURCE(5685, 35)
{
word idx60;
stop←v8256 = (start←v8228 + (
idx60 = (word) block←v5828.f2,
SGNCK(idx60)
));
};
SOURCE(5722, 337)
lab←L100002: ;
if (( (int)start←v8228 < (int)stop←v8256)) {
}
else {
goto lab←L100000;
};
{
word pointer←v8312;
word n←v8340;
SOURCE(5742, 64)
pointer←v8312 = (block←v5828.f0 + start←v8228);
SOURCE(5841, 55)
SOURCE(5843, 53)
{
word pd61;
pd61 = (* (( (ptr) (* (( (ptr) gf←c28088)+94)/* var←c26712 */ ))+79) );
n←v8340 = (word) ( *( (fPt) ((* (ptr) pd61 ))))((* (ptr) data←v8200 ), pointer←v8312, (stop←v8256 - start←v8228), pd61)
;
};
SOURCE(5899, 140)
if (( (int)n←v8340 < (int)0)) {
SOURCE(5911, 130)
{
word errno←v8396;
SOURCE(5913, 45)
errno←v8396 = (word) XR←GetErrno();
SOURCE(5960, 79)
{
W3 var←c0108;
var←c0108.f0 = 4;
var←c0108.f1 = 0;
var←c0108.f2 = (* (( (ptr) gf←c28088)+22) );
(void) XR←RaiseError((word) (( (bPt) gf←c28088)+144)/* var←c25304 */ , (word) &var←c0108);
};
};
};
SOURCE(6044, 15)
start←v8228 = (start←v8228 + n←v8340);
};
goto lab←L100002;
lab←L100000: ;
}
static word GetIndex←P480(self←v5888)
word self←v5888;
{
register ptr gf←c28120 = (ptr) &globalframe;
word var←c5932;
word data←v8440;
word index←v8468;
/* GetIndex: */
SOURCE(6074, 288)
SOURCE(6125, 46)
data←v8440 = XR←Narrow((* (( (ptr) self←v5888)+1) ), (* (( (ptr) gf←c28120)+14) ));
SOURCE(6173, 50)
{
word pd62;
pd62 = (* (( (ptr) (* (( (ptr) gf←c28120)+94)/* var←c26712 */ ))+40) );
index←v8468 = (word) ( *( (fPt) ((* (ptr) pd62 ))))((* (ptr) data←v8440 ), 0, 1, pd62);
};
SOURCE(6225, 119)
if (( (int)index←v8468 < (int)0)) {
SOURCE(6241, 105)
{
word errno←v8524;
SOURCE(6243, 45)
errno←v8524 = (word) XR←GetErrno();
SOURCE(6290, 54)
{
W3 var←c0115;
var←c0115.f0 = 4;
var←c0115.f1 = 0;
var←c0115.f2 = (* (( (ptr) gf←c28120)+23) );
(void) XR←RaiseError((word) (( (bPt) gf←c28120)+144)/* var←c25304 */ , (word) &var←c0115);
};
};
};
SOURCE(6349, 13)
return(index←v8468);
}
static void SetIndex←P540(self←v5992, index←v6020)
word self←v5992;
word index←v6020;
{
register ptr gf←c28152 = (ptr) &globalframe;
word data←v8568;
word newIndex←v8596;
/* SetIndex: */
SOURCE(6368, 277)
SOURCE(6417, 46)
data←v8568 = XR←Narrow((* (( (ptr) self←v5992)+1) ), (* (( (ptr) gf←c28152)+14) ));
SOURCE(6465, 56)
{
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c28152)+94)/* var←c26712 */ ))+40) );
newIndex←v8596 = (word) ( *( (fPt) ((* (ptr) pd63 ))))((* (ptr) data←v8568 ), index←v6020, 0, pd63);
};
SOURCE(6523, 122)
if (( (int)newIndex←v8596 < (int)0)) {
SOURCE(6542, 105)
{
word errno←v8652;
SOURCE(6544, 45)
errno←v8652 = (word) XR←GetErrno();
SOURCE(6591, 54)
{
W3 var←c0122;
var←c0122.f0 = 4;
var←c0122.f1 = 0;
var←c0122.f2 = (* (( (ptr) gf←c28152)+24) );
(void) XR←RaiseError((word) (( (bPt) gf←c28152)+144)/* var←c25304 */ , (word) &var←c0122);
};
};
};
}
static void GetStat←P600(formal←c0129, fd←v6080)
word formal←c0129;
word fd←v6080;
{
register ptr gf←c28184 = (ptr) &globalframe;
W16 stat←v6124;
word result←v8696;
/* GetStat: */
SOURCE(6654, 236)
SOURCE(6654, 236)
XR←FillWords(&stat←v6124, 16, 0);
SOURCE(6720, 43)
{
word pd64;
pd64 = (* (( (ptr) (* (( (ptr) gf←c28184)+94)/* var←c26712 */ ))+70) );
result←v8696 = (word) ( *( (fPt) ((* (ptr) pd64 ))))(fd←v6080, (word) &stat←v6124, pd64);
};
SOURCE(6765, 125)
if ((result←v8696 == (word) -1)) {
SOURCE(6788, 104)
{
word errno←v8740;
SOURCE(6790, 45)
errno←v8740 = (word) XR←GetErrno();
SOURCE(6837, 53)
{
W3 var←c0128;
var←c0128.f0 = 4;
var←c0128.f1 = 0;
var←c0128.f2 = (* (( (ptr) gf←c28184)+25) );
(void) XR←RaiseError((word) (( (bPt) gf←c28184)+144)/* var←c25304 */ , (word) &var←c0128);
};
};
};
/* removed tail goto */
(* (W16Pt) formal←c0129 ) = stat←v6124;
return;
}
static word GetLength←P660(self←v6184)
word self←v6184;
{
register ptr gf←c28216 = (ptr) &globalframe;
word var←c6228;
word data←v8784;
/* GetLength: */
SOURCE(6899, 129)
SOURCE(6951, 46)
data←v8784 = XR←Narrow((* (( (ptr) self←v6184)+1) ), (* (( (ptr) gf←c28216)+14) ));
SOURCE(6999, 29)
{
word var←c0251;
{
W16 var←c0133;
word var←c0250;
(void) GetStat←P600((word) &var←c0133, (* (ptr) data←v8784 ));
var←c0250 = (* (( (ptr) &var←c0133)+5) );
var←c0251 = SGNCK(var←c0250);
};
return(var←c0251);
};
}
static word EndOf←P720(self←v6288)
word self←v6288;
{
register ptr gf←c28248 = (ptr) &globalframe;
word var←c6332;
word data←v8840;
word size←v8868;
word index←v8896;
/* EndOf: */
SOURCE(7034, 327)
SOURCE(7083, 46)
data←v8840 = XR←Narrow((* (( (ptr) self←v6288)+1) ), (* (( (ptr) gf←c28248)+14) ));
SOURCE(7131, 33)
{
W16 var←c0138;
word var←c0252;
(void) GetStat←P600((word) &var←c0138, (* (ptr) data←v8840 ));
var←c0252 = (* (( (ptr) &var←c0138)+5) );
size←v8868 = SGNCK(var←c0252);
};
SOURCE(7166, 50)
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c28248)+94)/* var←c26712 */ ))+40) );
index←v8896 = (word) ( *( (fPt) ((* (ptr) pd65 ))))((* (ptr) data←v8840 ), 0, 1, pd65);
};
SOURCE(7218, 116)
if (( (int)index←v8896 < (int)0)) {
SOURCE(7234, 102)
{
word errno←v8952;
SOURCE(7236, 45)
errno←v8952 = (word) XR←GetErrno();
SOURCE(7283, 51)
{
W3 var←c0142;
var←c0142.f0 = 4;
var←c0142.f1 = 0;
var←c0142.f2 = (* (( (ptr) gf←c28248)+26) );
(void) XR←RaiseError((word) (( (bPt) gf←c28248)+144)/* var←c25304 */ , (word) &var←c0142);
};
};
};
SOURCE(7339, 22)
return( (unsigned) ( (int)index←v8896 >= (int)size←v8868));
}
static void Backup←P780(self←v6392, char←v6420)
word self←v6392;
word char←v6420;
{
register ptr gf←c28280 = (ptr) &globalframe;
word data←v8996;
word index←v9024;
/* Backup: */
SOURCE(7367, 265)
SOURCE(7414, 46)
data←v8996 = XR←Narrow((* (( (ptr) self←v6392)+1) ), (* (( (ptr) gf←c28280)+14) ));
SOURCE(7462, 51)
{
word pd66;
pd66 = (* (( (ptr) (* (( (ptr) gf←c28280)+94)/* var←c26712 */ ))+40) );
index←v9024 = (word) ( *( (fPt) ((* (ptr) pd66 ))))((* (ptr) data←v8996 ), (word) -1, 1, pd66);
};
SOURCE(7515, 117)
if (( (int)index←v9024 < (int)0)) {
SOURCE(7531, 103)
{
word errno←v9080;
SOURCE(7533, 45)
errno←v9080 = (word) XR←GetErrno();
SOURCE(7580, 52)
{
W3 var←c0149;
var←c0149.f0 = 4;
var←c0149.f1 = 0;
var←c0149.f2 = (* (( (ptr) gf←c28280)+27) );
(void) XR←RaiseError((word) (( (bPt) gf←c28280)+144)/* var←c25304 */ , (word) &var←c0149);
};
};
};
}
static void Flush←P840(self←v6480)
word self←v6480;
{
register ptr gf←c28312 = (ptr) &globalframe;
word data←v9124;
word result←v9152;
/* Flush: */
SOURCE(7641, 248)
SOURCE(7675, 46)
data←v9124 = XR←Narrow((* (( (ptr) self←v6480)+1) ), (* (( (ptr) gf←c28312)+14) ));
SOURCE(7723, 41)
{
word pd67;
pd67 = (* (( (ptr) (* (( (ptr) gf←c28312)+94)/* var←c26712 */ ))+13) );
result←v9152 = (word) ( *( (fPt) ((* (ptr) pd67 ))))((* (ptr) (data←v9124) ), pd67);
};
SOURCE(7766, 123)
if ((result←v9152 == (word) -1)) {
SOURCE(7789, 102)
{
word errno←v9208;
SOURCE(7791, 45)
errno←v9208 = (word) XR←GetErrno();
SOURCE(7838, 51)
{
W3 var←c0155;
var←c0155.f0 = 4;
var←c0155.f1 = 0;
var←c0155.f2 = (* (( (ptr) gf←c28312)+28) );
(void) XR←RaiseError((word) (( (bPt) gf←c28312)+144)/* var←c25304 */ , (word) &var←c0155);
};
};
};
}
static void Close←P900(self←v6540, abort←v6568)
word self←v6540;
word abort←v6568;
{
register ptr gf←c28344 = (ptr) &globalframe;
word data←v9252;
word result←v9280;
/* Close: */
SOURCE(7898, 252)
SOURCE(7945, 46)
data←v9252 = XR←Narrow((* (( (ptr) self←v6540)+1) ), (* (( (ptr) gf←c28344)+14) ));
SOURCE(7993, 41)
{
word pd68;
pd68 = (* (( (ptr) (* (( (ptr) gf←c28344)+94)/* var←c26712 */ ))+9) );
result←v9280 = (word) ( *( (fPt) ((* (ptr) pd68 ))))((* (ptr) (data←v9252) ), pd68);
};
SOURCE(8036, 114)
if ((result←v9280 == (word) -1)) {
SOURCE(8059, 93)
{
word errno←v9336;
SOURCE(8061, 45)
errno←v9336 = (word) XR←GetErrno();
SOURCE(8108, 42)
{
W3 var←c0162;
var←c0162.f0 = 4;
var←c0162.f1 = 0;
var←c0162.f2 = (* (( (ptr) gf←c28344)+29) );
(void) XR←RaiseError((word) (( (bPt) gf←c28344)+144)/* var←c25304 */ , (word) &var←c0162);
};
};
};
}
static void ResetInput←P960(self←v6628)
word self←v6628;
{
register ptr gf←c28376 = (ptr) &globalframe;
word data←v9380;
/* ResetInput: */
SOURCE(8159, 106)
SOURCE(8198, 46)
data←v9380 = XR←Narrow((* (( (ptr) self←v6628)+1) ), (* (( (ptr) gf←c28376)+14) ));
SOURCE(8246, 19)
(* (( (ptr) data←v9380)+2) ) = 1;
}
static word InputCharsAvail←P1020(self←v6688, wait←v6716)
word self←v6688;
word wait←v6716;
{
register ptr gf←c28408 = (ptr) &globalframe;
word var←c6760;
word data←v9436;
/* InputCharsAvail: */
SOURCE(8271, 199)
SOURCE(8340, 46)
data←v9436 = XR←Narrow((* (( (ptr) self←v6688)+1) ), (* (( (ptr) gf←c28408)+14) ));
SOURCE(8388, 82)
if ((0 != (* (( (ptr) data←v9436)+2) ))) {
SOURCE(8411, 20)
(* (( (ptr) data←v9436)+2) ) = 0;
SOURCE(8433, 9)
return(0);
}
else {
SOURCE(8451, 19)
return(2147483647);
};
}
static void Delete←P1080(name←v6820)
word name←v6820;
{
/* Delete: */
SOURCE(8477, 58)
SOURCE(8519, 16)
(void) RopeDelete←P1560(name←v6820);
}
static word OpenFileFromStream←P1140(self←v6880)
word self←v6880;
{
register ptr gf←c28440 = (ptr) &globalframe;
word var←c6924;
word data←v9492;
/* OpenFileFromStream: */
SOURCE(8541, 173)
SOURCE(8614, 46)
data←v9492 = XR←Narrow((* (( (ptr) self←v6880)+1) ), (* (( (ptr) gf←c28440)+14) ));
SOURCE(8662, 52)
{
word var←c27160;
var←c27160 = XR←NewObject(12, (* (( (ptr) gf←c28440)+14) ));
(* (ptr) var←c27160 ) = (* (ptr) data←v9492 );
(* (( (ptr) var←c27160)+1) ) = (* (( (ptr) data←v9492)+1) );
return(var←c27160);
};
}
static word GetCreateTime←P1200(file←v6984)
word file←v6984;
{
register ptr gf←c28472 = (ptr) &globalframe;
word created←v7028;
word data←v9548;
word var←c27192;
W2 var←c0180;
/* GetCreateTime: */
SOURCE(8718, 199)
SOURCE(8799, 35)
data←v9548 = XR←Narrow(file←v6984, (* (( (ptr) gf←c28472)+14) ));
SOURCE(8836, 81)
{
W16 var←c0178;
word var←c0253;
(void) GetStat←P600((word) &var←c0178, (* (ptr) data←v9548 ));
var←c0253 = (* (( (ptr) &var←c0178)+8) );
var←c27192 = SGNCK(var←c0253);
};
{
W4 var←c27224;
var←c27224.f0 = var←c27192;
var←c27224.f1 = 0;
var←c27224.f2 = 0;
var←c27224.f3 = 0;
{
word pd69;
pd69 = (* (( (ptr) (* (( (ptr) gf←c28472)+95)/* var←c27256 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd69 ))))((word) &var←c0180, var←c27224, pd69);
};
};
created←v7028 = var←c0180.f0;
SOURCE(8718, 199)
return(created←v7028);
}
static word GetName←P1260(file←v7088)
word file←v7088;
{
register ptr gf←c28504 = (ptr) &globalframe;
word fullFName←v7132;
word data←v9604;
/* GetName: */
SOURCE(8923, 131)
SOURCE(8923, 131)
fullFName←v7132 = 0;
SOURCE(8996, 35)
data←v9604 = XR←Narrow(file←v7088, (* (( (ptr) gf←c28504)+14) ));
SOURCE(9033, 21)
return((* (( (ptr) data←v9604)+1) ));
}
static word ExpandName←P1320(name←v7192)
word name←v7192;
{
register ptr gf←c28536 = (ptr) &globalframe;
word fullUName←v7236;
/* ExpandName: */
SOURCE(9097, 202)
SOURCE(9097, 202)
fullUName←v7236 = 0;
SOURCE(9157, 142)
{
word tc70;
word pd71;
word pd72;
pd71 = (* (( (ptr) (* (( (ptr) gf←c28536)+92)/* var←c26584 */ ))+8) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd71 ))))(name←v7192, 0, 1, pd71))) {
pd72 = (* (( (ptr) (* (( (ptr) gf←c28536)+92)/* var←c26584 */ ))+9) );
tc70 = (word) ((word) ( *( (fPt) ((* (ptr) pd72 ))))(name←v7192, 0, pd72) == 47);
}
else {
tc70 = (word) 0;
};
if (tc70) {
SOURCE(9220, 22)
fullUName←v7236 = name←v7192;
}
else {
SOURCE(9242, 57)
{
word var←c27288;
{
word var←c27320;
var←c27320 = (word) GetWDir←P1380(0);
{
word pd73;
pd73 = (* (( (ptr) (* (( (ptr) gf←c28536)+92)/* var←c26584 */ ))+6) );
var←c27288 = (word) ( *( (fPt) ((* (ptr) pd73 ))))(var←c27320, name←v7192, pd73);
};
};
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c28536)+92)/* var←c26584 */ ))+30) );
fullUName←v7236 = (word) ( *( (fPt) ((* (ptr) pd74 ))))(var←c27288, 0, 2147483647, pd74);
};
};
};
};
SOURCE(9097, 202)
return(fullUName←v7236);
}
static word GetWDir←P1380(wDir←v7296)
word wDir←v7296;
{
register ptr gf←c28568 = (ptr) &globalframe;
word var←c7340;
/* GetWDir: */
SOURCE(9305, 295)
SOURCE(9358, 164)
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c28568)+92)/* var←c26584 */ ))+13) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd75 ))))(wDir←v7296, pd75))) {
SOURCE(9385, 148)
{
word propList←v9660;
SOURCE(9387, 49)
{
word pd76;
pd76 = (* (( (ptr) (* (( (ptr) gf←c28568)+96)/* var←c27352 */ ))+6) );
propList←v9660 = (word) ( *( (fPt) ((* (ptr) pd76 ))))(pd76);
};
SOURCE(9438, 84)
{
word var←c27416;
{
word pd77;
pd77 = (* (( (ptr) (* (( (ptr) gf←c28568)+97)/* var←c27384 */ ))+20) );
var←c27416 = (word) ( *( (fPt) ((* (ptr) pd77 ))))((* (( (ptr) gf←c28568)+17) ), propList←v9660, pd77);
};
if ((var←c27416 == 0)) {
goto lab←L100004;
};
{
word tc78;
if (((* (( (ptr) gf←c28568)+11) ) == XR←GetReferentType(var←c27416))) {
tc78 = (word) ( (unsigned) (*(int*)var←c27416<0) == 0);
}
else {
tc78 = (word) 0;
};
if (tc78) {
{
word rope←v9704;
rope←v9704 = var←c27416;
SOURCE(9511, 11)
wDir←v7296 = rope←v9704;
};
}
else {
lab←L100004: ;
};
};
};
};
};
};
SOURCE(9536, 50)
{
word pd79;
pd79 = (* (( (ptr) (* (( (ptr) gf←c28568)+92)/* var←c26584 */ ))+13) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd79 ))))(wDir←v7296, pd79))) {
SOURCE(9563, 23)
wDir←v7296 = (word) GetDefaultWDir←P1440();
};
};
SOURCE(9588, 12)
return(wDir←v7296);
}
static word GetDefaultWDir←P1440()
{
register ptr gf←c28600 = (ptr) &globalframe;
word wdir←v7400;
/* GetDefaultWDir: */
SOURCE(9606, 102)
SOURCE(9606, 102)
wdir←v7400 = 0;
SOURCE(9657, 51)
{
word var←c27480;
{
word pd80;
pd80 = (* (( (ptr) (* (( (ptr) gf←c28600)+98)/* var←c27512 */ ))+4) );
var←c27480 = (word) ( *( (fPt) ((* (ptr) pd80 ))))((* ((( (ptr) gf←c28600)+30)) ), pd80);
};
{
word pd81;
pd81 = (* (( (ptr) (* (( (ptr) gf←c28600)+92)/* var←c26584 */ ))+6) );
return((word) ( *( (fPt) ((* (ptr) pd81 ))))(var←c27480, (* (( (ptr) gf←c28600)+31) ), pd81));
};
};
}
static word RopeOpen←P1500(name←v7460, flags←v7488, mode←v7516)
word name←v7460;
word flags←v7488;
word mode←v7516;
{
register ptr gf←c28632 = (ptr) &globalframe;
word fd←v7560;
/* RopeOpen: */
SOURCE(9714, 724)
SOURCE(9818, 620)
{
word pd82;
pd82 = (* (( (ptr) (* (( (ptr) gf←c28632)+92)/* var←c26584 */ ))+14) );
if (( (int)(word) ( *( (fPt) ((* (ptr) pd82 ))))(name←v7460, pd82) == (int)0)) {
SOURCE(9846, 59)
{
W3 var←c0200;
var←c0200.f0 = 4;
var←c0200.f1 = 0;
var←c0200.f2 = (* (( (ptr) gf←c28632)+32) );
(void) XR←RaiseError((word) (( (bPt) gf←c28632)+144)/* var←c25304 */ , (word) &var←c0200);
};
}
else {
SOURCE(9905, 535)
{
word expandedName←v9748;
word scratch←v9776;
word nameText←v9804;
word namePointer←v9832;
word result←v9860;
SOURCE(9907, 37)
expandedName←v9748 = (word) ExpandName←P1320(name←v7460);
SOURCE(9946, 70)
{
word var←c27576;
{
word pd83;
word idx84;
pd83 = (* (( (ptr) (* (( (ptr) gf←c28632)+92)/* var←c26584 */ ))+14) );
var←c27576 = (
idx84 = (word) ((word) ( *( (fPt) ((* (ptr) pd83 ))))(expandedName←v9748, pd83) + 1),
BCK(idx84, 32768)
);
};
{
word pd85;
pd85 = (* (( (ptr) (* (( (ptr) gf←c28632)+99)/* var←c27608 */ ))+6) );
scratch←v9776 = (word) ( *( (fPt) ((* (ptr) pd85 ))))(var←c27576, pd85);
};
};
SOURCE(10018, 89)
{
word var←c27640;
{
word pd86;
pd86 = (* (( (ptr) (* (( (ptr) gf←c28632)+99)/* var←c27608 */ ))+10) );
var←c27640 = (word) ( *( (fPt) ((* (ptr) pd86 ))))(scratch←v9776, expandedName←v9748, 0, 32767, pd86);
};
{
word pd87;
pd87 = (* (( (ptr) (* (( (ptr) gf←c28632)+99)/* var←c27608 */ ))+11) );
nameText←v9804 = (word) ( *( (fPt) ((* (ptr) pd87 ))))(var←c27640, 0, pd87);
};
};
SOURCE(10109, 74)
namePointer←v9832 = (nameText←v9804 + 4);
SOURCE(10205, 55)
SOURCE(10207, 53)
{
word pd88;
pd88 = (* (( (ptr) (* (( (ptr) gf←c28632)+94)/* var←c26712 */ ))+48) );
result←v9860 = (word) ( *( (fPt) ((* (ptr) pd88 ))))(namePointer←v9832, flags←v7488, mode←v7516, pd88);
};
SOURCE(10263, 31)
{
word pd89;
pd89 = (* (( (ptr) (* (( (ptr) gf←c28632)+99)/* var←c27608 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd89 ))))(scratch←v9776, pd89);
};
SOURCE(10296, 123)
if ((result←v9860 == (word) -1)) {
SOURCE(10317, 104)
{
word errno←v9940;
SOURCE(10319, 45)
errno←v9940 = (word) XR←GetErrno();
SOURCE(10366, 53)
{
W3 var←c0210;
var←c0210.f0 = 4;
var←c0210.f1 = 0;
var←c0210.f2 = (* (( (ptr) gf←c28632)+33) );
(void) XR←RaiseError((word) (( (bPt) gf←c28632)+144)/* var←c25304 */ , (word) &var←c0210);
};
};
};
SOURCE(10424, 14)
return(result←v9860);
};
};
};
}
static void RopeDelete←P1560(name←v7620)
word name←v7620;
{
register ptr gf←c28664 = (ptr) &globalframe;
/* RopeDelete: */
SOURCE(10447, 637)
SOURCE(10486, 598)
{
word pd90;
pd90 = (* (( (ptr) (* (( (ptr) gf←c28664)+92)/* var←c26584 */ ))+14) );
if (( (int)(word) ( *( (fPt) ((* (ptr) pd90 ))))(name←v7620, pd90) == (int)0)) {
SOURCE(10514, 60)
{
W3 var←c0213;
var←c0213.f0 = 4;
var←c0213.f1 = 0;
var←c0213.f2 = (* (( (ptr) gf←c28664)+34) );
(void) XR←RaiseError((word) (( (bPt) gf←c28664)+144)/* var←c25304 */ , (word) &var←c0213);
};
}
else {
SOURCE(10574, 515)
{
word expandedName←v9984;
word scratch←v10012;
word nameText←v10040;
word namePointer←v10068;
word result←v10096;
SOURCE(10576, 37)
expandedName←v9984 = (word) ExpandName←P1320(name←v7620);
SOURCE(10615, 70)
{
word var←c27736;
{
word pd91;
word idx92;
pd91 = (* (( (ptr) (* (( (ptr) gf←c28664)+92)/* var←c26584 */ ))+14) );
var←c27736 = (
idx92 = (word) ((word) ( *( (fPt) ((* (ptr) pd91 ))))(expandedName←v9984, pd91) + 1),
BCK(idx92, 32768)
);
};
{
word pd93;
pd93 = (* (( (ptr) (* (( (ptr) gf←c28664)+99)/* var←c27608 */ ))+6) );
scratch←v10012 = (word) ( *( (fPt) ((* (ptr) pd93 ))))(var←c27736, pd93);
};
};
SOURCE(10687, 89)
{
word var←c27768;
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c28664)+99)/* var←c27608 */ ))+10) );
var←c27768 = (word) ( *( (fPt) ((* (ptr) pd94 ))))(scratch←v10012, expandedName←v9984, 0, 32767, pd94);
};
{
word pd95;
pd95 = (* (( (ptr) (* (( (ptr) gf←c28664)+99)/* var←c27608 */ ))+11) );
nameText←v10040 = (word) ( *( (fPt) ((* (ptr) pd95 ))))(var←c27768, 0, pd95);
};
};
SOURCE(10778, 74)
namePointer←v10068 = (nameText←v10040 + 4);
SOURCE(10875, 44)
SOURCE(10877, 42)
{
word pd96;
pd96 = (* (( (ptr) (* (( (ptr) gf←c28664)+94)/* var←c26712 */ ))+77) );
result←v10096 = (word) ( *( (fPt) ((* (ptr) pd96 ))))(namePointer←v10068, pd96);
};
SOURCE(10922, 31)
{
word pd97;
pd97 = (* (( (ptr) (* (( (ptr) gf←c28664)+99)/* var←c27608 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd97 ))))(scratch←v10012, pd97);
};
SOURCE(10955, 129)
if ((result←v10096 == (word) -1)) {
SOURCE(10978, 108)
{
word errno←v10176;
SOURCE(10980, 45)
errno←v10176 = (word) XR←GetErrno();
SOURCE(11027, 57)
{
W3 var←c0223;
var←c0223.f0 = 4;
var←c0223.f1 = 0;
var←c0223.f2 = (* (( (ptr) gf←c28664)+35) );
(void) XR←RaiseError((word) (( (bPt) gf←c28664)+144)/* var←c25304 */ , (word) &var←c0223);
};
};
};
};
};
};
}
/* file: UXIOImpl, module: UXIOImpl, compiled at: March 23, 1994 11:23:58 am PST */
extern void XR←install←UXIOImpl() {
NoName←Q2436();
}
extern void XR←run←UXIOImpl() { XR←Start(&globalframe); }