/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1994 by Xerox Corporation. All rights reserved. */
/* time: March 18, 1994 1:59:29 pm 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 [1801589678,2044132536] 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\153\142\023\256\300\171\326\374\270\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\153\142\023\256\300\171\326\374\270\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←c0223 = (ptr) &globalframe;
word var←c27272;
(* (( (ptr) gf←c0223)+8) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0223)+9) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
(* (( (ptr) gf←c0223)+11) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0223)+12) ) = (word) XR←GetTypeIndexS((word) (&string6));
(* (( (ptr) gf←c0223)+14) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
(* (ptr) (( (bPt) gf←c0223)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+8) ), (word) &string9);
(* (ptr) (( (bPt) gf←c0223)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+8) ), (word) &string10);
(* (ptr) (( (bPt) gf←c0223)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+8) ), (word) &string11);
(* (ptr) (( (bPt) gf←c0223)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+8) ), (word) &string12);
(* (ptr) (( (bPt) gf←c0223)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+8) ), (word) &string13);
(* (ptr) (( (bPt) gf←c0223)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string14);
(* (ptr) (( (bPt) gf←c0223)+84) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0223)+88) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string16);
(* (ptr) (( (bPt) gf←c0223)+92) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string17);
(* (ptr) (( (bPt) gf←c0223)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string18);
(* (ptr) (( (bPt) gf←c0223)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string19);
(* (ptr) (( (bPt) gf←c0223)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string20);
(* (ptr) (( (bPt) gf←c0223)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string21);
(* (ptr) (( (bPt) gf←c0223)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string22);
(* (ptr) (( (bPt) gf←c0223)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string23);
(* (ptr) (( (bPt) gf←c0223)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string24);
(* (ptr) (( (bPt) gf←c0223)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string25);
(* (ptr) (( (bPt) gf←c0223)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string26);
(* (ptr) (( (bPt) gf←c0223)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string27);
(* (ptr) (( (bPt) gf←c0223)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string28);
(* (ptr) (( (bPt) gf←c0223)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0223)+9) ), (word) &string29);
(void) XR←DeclareGlobalFrame((word) "UXIOImpl", &globalframe, (word) XR←GetTypeIndex((word) &string30, 0, (word) &string31)
, (word) (( (bPt) gf←c0223)+356)/* var←c25608 */ );
var←c27272 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string32)), 16);
(* (( (ptr) gf←c0223)+93)/* var←c26056 */ ) = var←c27272;
(void) XR←ImportProcS(var←c27272, 67897859);
var←c27272 = (word) XR←ImportInterface((word) "HostTime", (word) XR←GetTypeIndexS((word) (&string33)), 8);
(* (( (ptr) gf←c0223)+95)/* var←c26696 */ ) = var←c27272;
(void) XR←ImportProcS(var←c27272, 135266305);
var←c27272 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string34)), 103);
(* (( (ptr) gf←c0223)+91)/* var←c25640 */ ) = var←c27272;
(void) XR←ImportProcS(var←c27272, 67921155);
(void) XR←ImportProcS(var←c27272, 72115219);
var←c27272 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string35)), 28);
(* (( (ptr) gf←c0223)+97)/* var←c26824 */ ) = var←c27272;
(void) XR←ImportProcS(var←c27272, 67637250);
var←c27272 = (word) XR←ImportInterface((word) "ProcessProps", (word) XR←GetTypeIndexS((word) (&string36)), 6);
(* (( (ptr) gf←c0223)+96)/* var←c26792 */ ) = var←c27272;
(void) XR←ImportProcS(var←c27272, 67109376);
var←c27272 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string37)), 43);
(* (( (ptr) gf←c0223)+92)/* var←c26024 */ ) = var←c27272;
(void) XR←ImportProcS(var←c27272, 67373569);
(void) XR←ImportProcS(var←c27272, 67373313);
(void) XR←ImportProcS(var←c27272, 67633666);
(void) XR←ImportProcS(var←c27272, 67634434);
(void) XR←ImportProcS(var←c27272, 67896323);
(void) XR←ImportProcS(var←c27272, 67901955);
var←c27272 = (word) XR←ImportInterface((word) "RefText", (word) XR←GetTypeIndexS((word) (&string38)), 26);
(* (( (ptr) gf←c0223)+99)/* var←c27048 */ ) = var←c27272;
(void) XR←ImportProcS(var←c27272, 262913);
(void) XR←ImportProcS(var←c27272, 68158980);
(void) XR←ImportProcS(var←c27272, 67634946);
(void) XR←ImportProcS(var←c27272, 67371521);
var←c27272 = (word) XR←ImportInterface((word) "UnixEnviron", (word) XR←GetTypeIndexS((word) (&string39)), 1);
(* (( (ptr) gf←c0223)+98)/* var←c26952 */ ) = var←c27272;
(void) XR←ImportProcS(var←c27272, 67371009);
var←c27272 = (word) XR←ImportInterface((word) "UnixSysCalls", (word) XR←GetTypeIndexS((word) (&string40)), 77);
(* (( (ptr) gf←c0223)+94)/* var←c26152 */ ) = var←c27272;
(void) XR←ImportProcS(var←c27272, 67389697);
(void) XR←ImportProcS(var←c27272, 67906563);
(void) XR←ImportProcS(var←c27272, 67372289);
(void) XR←ImportProcS(var←c27272, 67373313);
(void) XR←ImportProcS(var←c27272, 67650050);
(void) XR←ImportProcS(var←c27272, 67904515);
(void) XR←ImportProcS(var←c27272, 67914499);
(void) XR←ImportProcS(var←c27272, 67907587);
var←c27272 = (word) XR←ExportInterface((word) "UXIO", (word) XR←GetTypeIndexS((word) (&string41)), 7);
(* (( (ptr) gf←c0223)+100)/* var←c27304 */ ) = var←c27272;
(void) XR←ExportProcS(var←c27272, (word) (( (bPt) gf←c0223)+348)/* var←c25576 */ , 67371009, (word) "CreateStandardStream")
;
(void) XR←ExportProcS(var←c27272, (word) (( (bPt) gf←c0223)+340)/* var←c25544 */ , 67895555, (word) "CreateFileStream");
(void) XR←ExportVar(var←c27272, 2, (word) (( (bPt) gf←c0223)+144)/* var←c24744 */ );
(void) XR←ExportProcS(var←c27272, (word) (( (bPt) gf←c0223)+204)/* var←c25000 */ , 67371777, (word) "OpenFileFromStream")
;
(void) XR←ExportProcS(var←c27272, (word) (( (bPt) gf←c0223)+196)/* var←c24968 */ , 67372033, (word) "GetCreateTime");
(void) XR←ExportProcS(var←c27272, (word) (( (bPt) gf←c0223)+188)/* var←c24936 */ , 67372289, (word) "GetName");
(void) XR←ExportProcS(var←c27272, (word) (( (bPt) gf←c0223)+212)/* var←c25032 */ , 263681, (word) "Delete");
}
static void UXIOImpl←P0(formal←c051, formal←c046)
word formal←c051;
word formal←c046;
{
register ptr gf←c27336 = (ptr) &globalframe;
/* UXIOImpl: */
SOURCE(614, 9669)
SOURCE(1125, 177)
{
W19 var←c047;
(* (ptr) (word) &var←c047 ) = 0;
(* (( (ptr) (word) &var←c047) + 1) ) = (* (( (ptr) gf←c27336)+19) );
(* (( (ptr) (word) &var←c047) + 2) ) = (word) (( (bPt) gf←c27336)+332)/* var←c25512 */ ;
(* (( (ptr) (word) &var←c047) + 3) ) = 0;
(* (( (ptr) (word) &var←c047) + 4) ) = 0;
(* (( (ptr) (word) &var←c047) + 5) ) = (word) (( (bPt) gf←c27336)+324)/* var←c25480 */ ;
(* (( (ptr) (word) &var←c047) + 6) ) = (word) (( (bPt) gf←c27336)+220)/* var←c25064 */ ;
(* (( (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←c27336)+228)/* var←c25096 */ ;
(* (( (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←c27336)+91)/* var←c25640 */ ))+104) );
(* (( (ptr) gf←c27336)+4)/* stdInputProcs←v3280 */ ) = (word) ( *( (fPt) ((* (ptr) pd42 ))))((word) (&var←c047), pd42);
};
};
SOURCE(1305, 144)
{
W19 var←c048;
(* (ptr) (word) &var←c048 ) = 1;
(* (( (ptr) (word) &var←c048) + 1) ) = (* (( (ptr) gf←c27336)+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←c27336)+316)/* var←c25448 */ ;
(* (( (ptr) (word) &var←c048) + 9) ) = 0;
(* (( (ptr) (word) &var←c048) + 10) ) = (word) (( (bPt) gf←c27336)+300)/* var←c25384 */ ;
(* (( (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←c27336)+91)/* var←c25640 */ ))+104) );
(* (( (ptr) gf←c27336)+5)/* stdOutputProcs←v3308 */ ) = (word) ( *( (fPt) ((* (ptr) pd43 ))))((word) (&var←c048), pd43)
;
};
};
SOURCE(1452, 250)
{
W19 var←c049;
(* (ptr) (word) &var←c049 ) = 0;
(* (( (ptr) (word) &var←c049) + 1) ) = (* (( (ptr) gf←c27336)+18) );
(* (( (ptr) (word) &var←c049) + 2) ) = (word) (( (bPt) gf←c27336)+332)/* var←c25512 */ ;
(* (( (ptr) (word) &var←c049) + 3) ) = 0;
(* (( (ptr) (word) &var←c049) + 4) ) = (word) (( (bPt) gf←c27336)+308)/* var←c25416 */ ;
(* (( (ptr) (word) &var←c049) + 5) ) = (word) (( (bPt) gf←c27336)+260)/* var←c25224 */ ;
(* (( (ptr) (word) &var←c049) + 6) ) = 0;
(* (( (ptr) (word) &var←c049) + 7) ) = (word) (( (bPt) gf←c27336)+252)/* var←c25192 */ ;
(* (( (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←c27336)+236)/* var←c25128 */ ;
(* (( (ptr) (word) &var←c049) + 14) ) = (word) (( (bPt) gf←c27336)+292)/* var←c25352 */ ;
(* (( (ptr) (word) &var←c049) + 15) ) = (word) (( (bPt) gf←c27336)+284)/* var←c25320 */ ;
(* (( (ptr) (word) &var←c049) + 16) ) = (word) (( (bPt) gf←c27336)+268)/* var←c25256 */ ;
(* (( (ptr) (word) &var←c049) + 17) ) = 0;
(* (( (ptr) (word) &var←c049) + 18) ) = 0;
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c27336)+91)/* var←c25640 */ ))+104) );
(* (( (ptr) gf←c27336)+6)/* fileInputProcs←v3336 */ ) = (word) ( *( (fPt) ((* (ptr) pd44 ))))((word) (&var←c049), pd44)
;
};
};
SOURCE(1705, 236)
{
W19 var←c050;
(* (ptr) (word) &var←c050 ) = 1;
(* (( (ptr) (word) &var←c050) + 1) ) = (* (( (ptr) gf←c27336)+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←c27336)+316)/* var←c25448 */ ;
(* (( (ptr) (word) &var←c050) + 9) ) = 0;
(* (( (ptr) (word) &var←c050) + 10) ) = (word) (( (bPt) gf←c27336)+300)/* var←c25384 */ ;
(* (( (ptr) (word) &var←c050) + 11) ) = (word) (( (bPt) gf←c27336)+244)/* var←c25160 */ ;
(* (( (ptr) (word) &var←c050) + 12) ) = 0;
(* (( (ptr) (word) &var←c050) + 13) ) = (word) (( (bPt) gf←c27336)+236)/* var←c25128 */ ;
(* (( (ptr) (word) &var←c050) + 14) ) = (word) (( (bPt) gf←c27336)+292)/* var←c25352 */ ;
(* (( (ptr) (word) &var←c050) + 15) ) = (word) (( (bPt) gf←c27336)+284)/* var←c25320 */ ;
(* (( (ptr) (word) &var←c050) + 16) ) = (word) (( (bPt) gf←c27336)+268)/* var←c25256 */ ;
(* (( (ptr) (word) &var←c050) + 17) ) = 0;
(* (( (ptr) (word) &var←c050) + 18) ) = 0;
{
word pd45;
pd45 = (* (( (ptr) (* (( (ptr) gf←c27336)+91)/* var←c25640 */ ))+104) );
(* (( (ptr) gf←c27336)+7)/* fileOutputProcs←v3364 */ ) = (word) ( *( (fPt) ((* (ptr) pd45 ))))((word) (&var←c050), pd45)
;
};
};
}
static word CreateStandardStream←P60(kind←v4492)
word kind←v4492;
{
register ptr gf←c27368 = (ptr) &globalframe;
word stream←v4536;
/* CreateStandardStream: */
SOURCE(1944, 426)
SOURCE(1944, 426)
stream←v4536 = 0;
SOURCE(2028, 342)
{
word var←c25672;
var←c25672 = kind←v4492;
switch (var←c25672) {
case 0:
SOURCE(2054, 97)
{
word var←c25704;
{
word var←c25736;
var←c25736 = XR←NewObject(12, (* (( (ptr) gf←c27368)+14) ));
(* (ptr) var←c25736 ) = (word) -2;
var←c25704 = var←c25736;
};
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c27368)+91)/* var←c25640 */ ))+105) );
stream←v4536 = (word) ( *( (fPt) ((* (ptr) pd46 ))))((* (( (ptr) gf←c27368)+4)/* stdInputProcs←v3280 */ ), var←c25704, 0, pd46)
;
};
};
break;
case 1:
SOURCE(2163, 98)
{
word var←c25768;
{
word var←c25800;
var←c25800 = XR←NewObject(12, (* (( (ptr) gf←c27368)+14) ));
(* (ptr) var←c25800 ) = (word) -3;
var←c25768 = var←c25800;
};
{
word pd47;
pd47 = (* (( (ptr) (* (( (ptr) gf←c27368)+91)/* var←c25640 */ ))+105) );
stream←v4536 = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) gf←c27368)+5)/* stdOutputProcs←v3308 */ ), var←c25768, 0, pd47)
;
};
};
break;
case 2:
SOURCE(2272, 98)
{
word var←c25832;
{
word var←c25864;
var←c25864 = XR←NewObject(12, (* (( (ptr) gf←c27368)+14) ));
(* (ptr) var←c25864 ) = (word) -4;
var←c25832 = var←c25864;
};
{
word pd48;
pd48 = (* (( (ptr) (* (( (ptr) gf←c27368)+91)/* var←c25640 */ ))+105) );
stream←v4536 = (word) ( *( (fPt) ((* (ptr) pd48 ))))((* (( (ptr) gf←c27368)+5)/* stdOutputProcs←v3308 */ ), var←c25832, 0, pd48)
;
};
};
break;
};
};
SOURCE(1944, 426)
return(stream←v4536);
}
static word CreateFileStream←P120(name←v4612, access←v4640, mode←v4668)
word name←v4612;
word access←v4640;
word mode←v4668;
{
register ptr gf←c27400 = (ptr) &globalframe;
word stream←v4712;
word fd←v7084;
/* CreateFileStream: */
SOURCE(2648, 534)
SOURCE(2648, 534)
stream←v4712 = 0;
SOURCE(2790, 92)
{
W3 var←c25896;
word var←c0249;
{
word tc49;
if ((access←v4640 == 2)) {
tc49 = (word) 769;
}
else {
var←c25896.f0 = 0;
var←c25896.f1 = 521;
var←c25896.f2 = 1537;
tc49 = (word) (* (( (ptr) &var←c25896)+access←v4640) );
};
var←c0249 = tc49;
};
fd←v7084 = (word) RopeOpen←P1500(name←v4612, var←c0249, mode←v4668);
};
SOURCE(2884, 138)
{
word var←c25928;
{
word var←c25960;
var←c25960 = XR←NewObject(12, (* (( (ptr) gf←c27400)+14) ));
(* (ptr) var←c25960 ) = fd←v7084;
(* (( (ptr) var←c25960)+1) ) = name←v4612;
var←c25928 = var←c25960;
};
{
word pd50;
pd50 = (* (( (ptr) (* (( (ptr) gf←c27400)+91)/* var←c25640 */ ))+105) );
stream←v4712 = (word) ( *( (fPt) ((* (ptr) pd50 ))))( ( (access←v4640 == 0) ? (* (( (ptr) gf←c27400)+6)/* fileInputProcs←v3336 */ ) : (* (
( (ptr) gf←c27400)+7)/* fileOutputProcs←v3364 */ ) ) , var←c25928, 0, pd50);
};
};
SOURCE(3024, 84)
{
word var←c25992;
{
word pd51;
pd51 = (* (( (ptr) (* (( (ptr) gf←c27400)+92)/* var←c26024 */ ))+30) );
var←c25992 = (word) ( *( (fPt) ((* (ptr) pd51 ))))(name←v4612, 0, 2147483647, pd51);
};
{
word pd52;
pd52 = (* (( (ptr) (* (( (ptr) gf←c27400)+93)/* var←c26056 */ ))+14) );
(* (( (ptr) stream←v4712)+2) ) = (word) ( *( (fPt) ((* (ptr) pd52 ))))((* (( (ptr) stream←v4712)+2) ), (* (( (ptr) gf←c27400)+15)
), var←c25992, pd52);
};
};
SOURCE(3110, 72)
{
word var←c26088;
{
word var←c26120;
var←c26120 = XR←NewObject(4, (* (( (ptr) gf←c27400)+12) ));
(* (ptr) var←c26120 ) = fd←v7084;
var←c26088 = var←c26120;
};
{
word pd53;
pd53 = (* (( (ptr) (* (( (ptr) gf←c27400)+93)/* var←c26056 */ ))+14) );
(* (( (ptr) stream←v4712)+2) ) = (word) ( *( (fPt) ((* (ptr) pd53 ))))((* (( (ptr) stream←v4712)+2) ), (* (( (ptr) gf←c27400)+16)
), var←c26088, pd53);
};
};
SOURCE(2648, 534)
return(stream←v4712);
}
static word GetChar←P180(self←v4808)
word self←v4808;
{
register ptr gf←c27432 = (ptr) &globalframe;
word var←c4852;
word data←v7128;
word charsRead←v7156;
word chars←v7184;
/* GetChar: */
SOURCE(3299, 460)
SOURCE(3350, 46)
data←v7128 = XR←Narrow((* (( (ptr) self←v4808)+1) ), (* (( (ptr) gf←c27432)+14) ));
SOURCE(3477, 60)
SOURCE(3478, 59)
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c27432)+94)/* var←c26152 */ ))+52) );
charsRead←v7156 = (word) ( *( (fPt) ((* (ptr) pd54 ))))((* (ptr) data←v7128 ), (word) &chars←v7184, 1, pd54);
};
SOURCE(3540, 50)
if (( (int)charsRead←v7156 == (int)0)) {
SOURCE(3564, 26)
{
word var←c077;
var←c077 = self←v4808;
(void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c27432)+91)/* var←c25640 */ ))+4) ), (word) &var←c077);
};
};
SOURCE(3595, 143)
if (( (int)charsRead←v7156 < (int)0)) {
SOURCE(3617, 123)
{
word errno←v7240;
SOURCE(3619, 45)
errno←v7240 = (word) XR←GetErrno();
SOURCE(3666, 72)
{
W3 var←c080;
var←c080.f0 = 4;
var←c080.f1 = 0;
var←c080.f2 = (* (( (ptr) gf←c27432)+20) );
(void) XR←RaiseError((word) (( (bPt) gf←c27432)+144)/* var←c24744 */ , (word) &var←c080);
};
};
};
SOURCE(3743, 16)
return( (unsigned) (* (bPt) &chars←v7184 ));
}
static word EndOfInput←P240(self←v4912)
word self←v4912;
{
word var←c4956;
word backing←v7284;
/* EndOfInput: */
SOURCE(3765, 178)
SOURCE(3819, 39)
backing←v7284 = (* (( (ptr) self←v4912)+3) );
SOURCE(3860, 83)
if ((backing←v7284 != 0)) {
SOURCE(3882, 48)
{
word pd55;
pd55 = (* (( (ptr) (* (ptr) backing←v7284 ))+3) );
return((word) ( *( (fPt) ((* (ptr) pd55 ))))(backing←v7284, pd55));
};
}
else {
SOURCE(3930, 13)
return(0);
};
}
static void PutChar←P300(self←v5016, char←v5044)
word self←v5016;
word char←v5044;
{
register ptr gf←c27464 = (ptr) &globalframe;
word data←v7328;
word charsWritten←v7356;
word chars←v7384;
/* PutChar: */
SOURCE(3977, 259)
SOURCE(4025, 46)
data←v7328 = XR←Narrow((* (( (ptr) self←v5016)+1) ), (* (( (ptr) gf←c27464)+14) ));
SOURCE(4147, 15)
(* (bPt) &chars←v7384 ) = char←v5044;
SOURCE(4172, 64)
SOURCE(4173, 63)
{
word pd56;
pd56 = (* (( (ptr) (* (( (ptr) gf←c27464)+94)/* var←c26152 */ ))+79) );
charsWritten←v7356 = (word) ( *( (fPt) ((* (ptr) pd56 ))))((* (ptr) data←v7328 ), (word) &chars←v7384, 1, pd56);
};
}
static word UnsafeGetBlock←P360(self←v5104, block←v5132)
word self←v5104;
W3 block←v5132;
{
register ptr gf←c27496 = (ptr) &globalframe;
word nBytesRead←v5176;
word data←v7440;
word pointer←v7468;
word n←v7496;
/* UnsafeGetBlock: */
SOURCE(4243, 480)
SOURCE(4356, 46)
data←v7440 = XR←Narrow((* (( (ptr) self←v5104)+1) ), (* (( (ptr) gf←c27496)+14) ));
SOURCE(4404, 81)
{
word idx57;
pointer←v7468 = (block←v5132.f0 + (
idx57 = (word) block←v5132.f1,
SGNCK(idx57)
));
};
SOURCE(4504, 63)
{
word pd58;
word idx59;
pd58 = (* (( (ptr) (* (( (ptr) gf←c27496)+94)/* var←c26152 */ ))+52) );
n←v7496 = (word) ( *( (fPt) ((* (ptr) pd58 ))))((* (ptr) data←v7440 ), pointer←v7468, (
idx59 = (word) block←v5132.f2,
SGNCK(idx59)
), pd58);
};
SOURCE(4569, 140)
if (( (int)n←v7496 < (int)0)) {
SOURCE(4581, 130)
{
word errno←v7564;
SOURCE(4583, 45)
errno←v7564 = (word) XR←GetErrno();
SOURCE(4630, 79)
{
W3 var←c097;
var←c097.f0 = 4;
var←c097.f1 = 0;
var←c097.f2 = (* (( (ptr) gf←c27496)+21) );
(void) XR←RaiseError((word) (( (bPt) gf←c27496)+144)/* var←c24744 */ , (word) &var←c097);
};
};
};
SOURCE(4714, 9)
return(n←v7496);
}
static void UnsafePutBlock←P420(self←v5236, block←v5264)
word self←v5236;
W3 block←v5264;
{
register ptr gf←c27528 = (ptr) &globalframe;
word data←v7608;
word start←v7636;
word stop←v7664;
/* UnsafePutBlock: */
SOURCE(4729, 529)
SOURCE(4799, 46)
data←v7608 = XR←Narrow((* (( (ptr) self←v5236)+1) ), (* (( (ptr) gf←c27528)+14) ));
SOURCE(4847, 35)
{
word idx60;
start←v7636 = (
idx60 = (word) block←v5264.f1,
SGNCK(idx60)
);
};
SOURCE(4884, 35)
{
word idx61;
stop←v7664 = (start←v7636 + (
idx61 = (word) block←v5264.f2,
SGNCK(idx61)
));
};
SOURCE(4921, 337)
lab←L100002: ;
if (( (int)start←v7636 < (int)stop←v7664)) {
}
else {
goto lab←L100000;
};
{
word pointer←v7720;
word n←v7748;
SOURCE(4941, 64)
pointer←v7720 = (block←v5264.f0 + start←v7636);
SOURCE(5040, 55)
SOURCE(5042, 53)
{
word pd62;
pd62 = (* (( (ptr) (* (( (ptr) gf←c27528)+94)/* var←c26152 */ ))+79) );
n←v7748 = (word) ( *( (fPt) ((* (ptr) pd62 ))))((* (ptr) data←v7608 ), pointer←v7720, (stop←v7664 - start←v7636), pd62)
;
};
SOURCE(5098, 140)
if (( (int)n←v7748 < (int)0)) {
SOURCE(5110, 130)
{
word errno←v7804;
SOURCE(5112, 45)
errno←v7804 = (word) XR←GetErrno();
SOURCE(5159, 79)
{
W3 var←c0107;
var←c0107.f0 = 4;
var←c0107.f1 = 0;
var←c0107.f2 = (* (( (ptr) gf←c27528)+22) );
(void) XR←RaiseError((word) (( (bPt) gf←c27528)+144)/* var←c24744 */ , (word) &var←c0107);
};
};
};
SOURCE(5243, 15)
start←v7636 = (start←v7636 + n←v7748);
};
goto lab←L100002;
lab←L100000: ;
}
static word GetIndex←P480(self←v5324)
word self←v5324;
{
register ptr gf←c27560 = (ptr) &globalframe;
word var←c5368;
word data←v7848;
word index←v7876;
/* GetIndex: */
SOURCE(5273, 288)
SOURCE(5324, 46)
data←v7848 = XR←Narrow((* (( (ptr) self←v5324)+1) ), (* (( (ptr) gf←c27560)+14) ));
SOURCE(5372, 50)
{
word pd63;
pd63 = (* (( (ptr) (* (( (ptr) gf←c27560)+94)/* var←c26152 */ ))+40) );
index←v7876 = (word) ( *( (fPt) ((* (ptr) pd63 ))))((* (ptr) data←v7848 ), 0, 1, pd63);
};
SOURCE(5424, 119)
if (( (int)index←v7876 < (int)0)) {
SOURCE(5440, 105)
{
word errno←v7932;
SOURCE(5442, 45)
errno←v7932 = (word) XR←GetErrno();
SOURCE(5489, 54)
{
W3 var←c0114;
var←c0114.f0 = 4;
var←c0114.f1 = 0;
var←c0114.f2 = (* (( (ptr) gf←c27560)+23) );
(void) XR←RaiseError((word) (( (bPt) gf←c27560)+144)/* var←c24744 */ , (word) &var←c0114);
};
};
};
SOURCE(5548, 13)
return(index←v7876);
}
static void SetIndex←P540(self←v5428, index←v5456)
word self←v5428;
word index←v5456;
{
register ptr gf←c27592 = (ptr) &globalframe;
word data←v7976;
word newIndex←v8004;
/* SetIndex: */
SOURCE(5567, 277)
SOURCE(5616, 46)
data←v7976 = XR←Narrow((* (( (ptr) self←v5428)+1) ), (* (( (ptr) gf←c27592)+14) ));
SOURCE(5664, 56)
{
word pd64;
pd64 = (* (( (ptr) (* (( (ptr) gf←c27592)+94)/* var←c26152 */ ))+40) );
newIndex←v8004 = (word) ( *( (fPt) ((* (ptr) pd64 ))))((* (ptr) data←v7976 ), index←v5456, 0, pd64);
};
SOURCE(5722, 122)
if (( (int)newIndex←v8004 < (int)0)) {
SOURCE(5741, 105)
{
word errno←v8060;
SOURCE(5743, 45)
errno←v8060 = (word) XR←GetErrno();
SOURCE(5790, 54)
{
W3 var←c0121;
var←c0121.f0 = 4;
var←c0121.f1 = 0;
var←c0121.f2 = (* (( (ptr) gf←c27592)+24) );
(void) XR←RaiseError((word) (( (bPt) gf←c27592)+144)/* var←c24744 */ , (word) &var←c0121);
};
};
};
}
static void GetStat←P600(formal←c0128, fd←v5516)
word formal←c0128;
word fd←v5516;
{
register ptr gf←c27624 = (ptr) &globalframe;
W16 stat←v5560;
word result←v8104;
/* GetStat: */
SOURCE(5853, 236)
SOURCE(5853, 236)
XR←FillWords(&stat←v5560, 16, 0);
SOURCE(5919, 43)
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c27624)+94)/* var←c26152 */ ))+70) );
result←v8104 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(fd←v5516, (word) &stat←v5560, pd65);
};
SOURCE(5964, 125)
if ((result←v8104 == (word) -1)) {
SOURCE(5987, 104)
{
word errno←v8148;
SOURCE(5989, 45)
errno←v8148 = (word) XR←GetErrno();
SOURCE(6036, 53)
{
W3 var←c0127;
var←c0127.f0 = 4;
var←c0127.f1 = 0;
var←c0127.f2 = (* (( (ptr) gf←c27624)+25) );
(void) XR←RaiseError((word) (( (bPt) gf←c27624)+144)/* var←c24744 */ , (word) &var←c0127);
};
};
};
/* removed tail goto */
(* (W16Pt) formal←c0128 ) = stat←v5560;
return;
}
static word GetLength←P660(self←v5620)
word self←v5620;
{
register ptr gf←c27656 = (ptr) &globalframe;
word var←c5664;
word data←v8192;
/* GetLength: */
SOURCE(6098, 129)
SOURCE(6150, 46)
data←v8192 = XR←Narrow((* (( (ptr) self←v5620)+1) ), (* (( (ptr) gf←c27656)+14) ));
SOURCE(6198, 29)
{
word var←c0251;
{
W16 var←c0132;
word var←c0250;
(void) GetStat←P600((word) &var←c0132, (* (ptr) data←v8192 ));
var←c0250 = (* (( (ptr) &var←c0132)+5) );
var←c0251 = SGNCK(var←c0250);
};
return(var←c0251);
};
}
static word EndOf←P720(self←v5724)
word self←v5724;
{
register ptr gf←c27688 = (ptr) &globalframe;
word var←c5768;
word data←v8248;
word size←v8276;
word index←v8304;
/* EndOf: */
SOURCE(6233, 327)
SOURCE(6282, 46)
data←v8248 = XR←Narrow((* (( (ptr) self←v5724)+1) ), (* (( (ptr) gf←c27688)+14) ));
SOURCE(6330, 33)
{
W16 var←c0137;
word var←c0252;
(void) GetStat←P600((word) &var←c0137, (* (ptr) data←v8248 ));
var←c0252 = (* (( (ptr) &var←c0137)+5) );
size←v8276 = SGNCK(var←c0252);
};
SOURCE(6365, 50)
{
word pd66;
pd66 = (* (( (ptr) (* (( (ptr) gf←c27688)+94)/* var←c26152 */ ))+40) );
index←v8304 = (word) ( *( (fPt) ((* (ptr) pd66 ))))((* (ptr) data←v8248 ), 0, 1, pd66);
};
SOURCE(6417, 116)
if (( (int)index←v8304 < (int)0)) {
SOURCE(6433, 102)
{
word errno←v8360;
SOURCE(6435, 45)
errno←v8360 = (word) XR←GetErrno();
SOURCE(6482, 51)
{
W3 var←c0141;
var←c0141.f0 = 4;
var←c0141.f1 = 0;
var←c0141.f2 = (* (( (ptr) gf←c27688)+26) );
(void) XR←RaiseError((word) (( (bPt) gf←c27688)+144)/* var←c24744 */ , (word) &var←c0141);
};
};
};
SOURCE(6538, 22)
return( (unsigned) ( (int)index←v8304 >= (int)size←v8276));
}
static void Backup←P780(self←v5828, char←v5856)
word self←v5828;
word char←v5856;
{
register ptr gf←c27720 = (ptr) &globalframe;
word data←v8404;
word index←v8432;
/* Backup: */
SOURCE(6566, 265)
SOURCE(6613, 46)
data←v8404 = XR←Narrow((* (( (ptr) self←v5828)+1) ), (* (( (ptr) gf←c27720)+14) ));
SOURCE(6661, 51)
{
word pd67;
pd67 = (* (( (ptr) (* (( (ptr) gf←c27720)+94)/* var←c26152 */ ))+40) );
index←v8432 = (word) ( *( (fPt) ((* (ptr) pd67 ))))((* (ptr) data←v8404 ), (word) -1, 1, pd67);
};
SOURCE(6714, 117)
if (( (int)index←v8432 < (int)0)) {
SOURCE(6730, 103)
{
word errno←v8488;
SOURCE(6732, 45)
errno←v8488 = (word) XR←GetErrno();
SOURCE(6779, 52)
{
W3 var←c0148;
var←c0148.f0 = 4;
var←c0148.f1 = 0;
var←c0148.f2 = (* (( (ptr) gf←c27720)+27) );
(void) XR←RaiseError((word) (( (bPt) gf←c27720)+144)/* var←c24744 */ , (word) &var←c0148);
};
};
};
}
static void Flush←P840(self←v5916)
word self←v5916;
{
register ptr gf←c27752 = (ptr) &globalframe;
word data←v8532;
word result←v8560;
/* Flush: */
SOURCE(6840, 248)
SOURCE(6874, 46)
data←v8532 = XR←Narrow((* (( (ptr) self←v5916)+1) ), (* (( (ptr) gf←c27752)+14) ));
SOURCE(6922, 41)
{
word pd68;
pd68 = (* (( (ptr) (* (( (ptr) gf←c27752)+94)/* var←c26152 */ ))+13) );
result←v8560 = (word) ( *( (fPt) ((* (ptr) pd68 ))))((* (ptr) (data←v8532) ), pd68);
};
SOURCE(6965, 123)
if ((result←v8560 == (word) -1)) {
SOURCE(6988, 102)
{
word errno←v8616;
SOURCE(6990, 45)
errno←v8616 = (word) XR←GetErrno();
SOURCE(7037, 51)
{
W3 var←c0154;
var←c0154.f0 = 4;
var←c0154.f1 = 0;
var←c0154.f2 = (* (( (ptr) gf←c27752)+28) );
(void) XR←RaiseError((word) (( (bPt) gf←c27752)+144)/* var←c24744 */ , (word) &var←c0154);
};
};
};
}
static void Close←P900(self←v5976, abort←v6004)
word self←v5976;
word abort←v6004;
{
register ptr gf←c27784 = (ptr) &globalframe;
word data←v8660;
word result←v8688;
/* Close: */
SOURCE(7097, 252)
SOURCE(7144, 46)
data←v8660 = XR←Narrow((* (( (ptr) self←v5976)+1) ), (* (( (ptr) gf←c27784)+14) ));
SOURCE(7192, 41)
{
word pd69;
pd69 = (* (( (ptr) (* (( (ptr) gf←c27784)+94)/* var←c26152 */ ))+9) );
result←v8688 = (word) ( *( (fPt) ((* (ptr) pd69 ))))((* (ptr) (data←v8660) ), pd69);
};
SOURCE(7235, 114)
if ((result←v8688 == (word) -1)) {
SOURCE(7258, 93)
{
word errno←v8744;
SOURCE(7260, 45)
errno←v8744 = (word) XR←GetErrno();
SOURCE(7307, 42)
{
W3 var←c0161;
var←c0161.f0 = 4;
var←c0161.f1 = 0;
var←c0161.f2 = (* (( (ptr) gf←c27784)+29) );
(void) XR←RaiseError((word) (( (bPt) gf←c27784)+144)/* var←c24744 */ , (word) &var←c0161);
};
};
};
}
static void ResetInput←P960(self←v6064)
word self←v6064;
{
register ptr gf←c27816 = (ptr) &globalframe;
word data←v8788;
/* ResetInput: */
SOURCE(7358, 106)
SOURCE(7397, 46)
data←v8788 = XR←Narrow((* (( (ptr) self←v6064)+1) ), (* (( (ptr) gf←c27816)+14) ));
SOURCE(7445, 19)
(* (( (ptr) data←v8788)+2) ) = 1;
}
static word InputCharsAvail←P1020(self←v6124, wait←v6152)
word self←v6124;
word wait←v6152;
{
register ptr gf←c27848 = (ptr) &globalframe;
word var←c6196;
word data←v8844;
/* InputCharsAvail: */
SOURCE(7470, 199)
SOURCE(7539, 46)
data←v8844 = XR←Narrow((* (( (ptr) self←v6124)+1) ), (* (( (ptr) gf←c27848)+14) ));
SOURCE(7587, 82)
if ((0 != (* (( (ptr) data←v8844)+2) ))) {
SOURCE(7610, 20)
(* (( (ptr) data←v8844)+2) ) = 0;
SOURCE(7632, 9)
return(0);
}
else {
SOURCE(7650, 19)
return(2147483647);
};
}
static void Delete←P1080(name←v6256)
word name←v6256;
{
/* Delete: */
SOURCE(7676, 58)
SOURCE(7718, 16)
(void) RopeDelete←P1560(name←v6256);
}
static word OpenFileFromStream←P1140(self←v6316)
word self←v6316;
{
register ptr gf←c27880 = (ptr) &globalframe;
word var←c6360;
word data←v8900;
/* OpenFileFromStream: */
SOURCE(7740, 173)
SOURCE(7813, 46)
data←v8900 = XR←Narrow((* (( (ptr) self←v6316)+1) ), (* (( (ptr) gf←c27880)+14) ));
SOURCE(7861, 52)
{
word var←c26600;
var←c26600 = XR←NewObject(12, (* (( (ptr) gf←c27880)+14) ));
(* (ptr) var←c26600 ) = (* (ptr) data←v8900 );
(* (( (ptr) var←c26600)+1) ) = (* (( (ptr) data←v8900)+1) );
return(var←c26600);
};
}
static word GetCreateTime←P1200(file←v6420)
word file←v6420;
{
register ptr gf←c27912 = (ptr) &globalframe;
word created←v6464;
word data←v8956;
word var←c26632;
W2 var←c0179;
/* GetCreateTime: */
SOURCE(7917, 199)
SOURCE(7998, 35)
data←v8956 = XR←Narrow(file←v6420, (* (( (ptr) gf←c27912)+14) ));
SOURCE(8035, 81)
{
W16 var←c0177;
word var←c0253;
(void) GetStat←P600((word) &var←c0177, (* (ptr) data←v8956 ));
var←c0253 = (* (( (ptr) &var←c0177)+8) );
var←c26632 = SGNCK(var←c0253);
};
{
W4 var←c26664;
var←c26664.f0 = var←c26632;
var←c26664.f1 = 0;
var←c26664.f2 = 0;
var←c26664.f3 = 0;
{
word pd70;
pd70 = (* (( (ptr) (* (( (ptr) gf←c27912)+95)/* var←c26696 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd70 ))))((word) &var←c0179, var←c26664, pd70);
};
};
created←v6464 = var←c0179.f0;
SOURCE(7917, 199)
return(created←v6464);
}
static word GetName←P1260(file←v6524)
word file←v6524;
{
register ptr gf←c27944 = (ptr) &globalframe;
word fullFName←v6568;
word data←v9012;
/* GetName: */
SOURCE(8122, 131)
SOURCE(8122, 131)
fullFName←v6568 = 0;
SOURCE(8195, 35)
data←v9012 = XR←Narrow(file←v6524, (* (( (ptr) gf←c27944)+14) ));
SOURCE(8232, 21)
return((* (( (ptr) data←v9012)+1) ));
}
static word ExpandName←P1320(name←v6628)
word name←v6628;
{
register ptr gf←c27976 = (ptr) &globalframe;
word fullUName←v6672;
/* ExpandName: */
SOURCE(8296, 202)
SOURCE(8296, 202)
fullUName←v6672 = 0;
SOURCE(8356, 142)
{
word tc71;
word pd72;
word pd73;
pd72 = (* (( (ptr) (* (( (ptr) gf←c27976)+92)/* var←c26024 */ ))+8) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd72 ))))(name←v6628, 0, 1, pd72))) {
pd73 = (* (( (ptr) (* (( (ptr) gf←c27976)+92)/* var←c26024 */ ))+9) );
tc71 = (word) ((word) ( *( (fPt) ((* (ptr) pd73 ))))(name←v6628, 0, pd73) == 47);
}
else {
tc71 = (word) 0;
};
if (tc71) {
SOURCE(8419, 22)
fullUName←v6672 = name←v6628;
}
else {
SOURCE(8441, 57)
{
word var←c26728;
{
word var←c26760;
var←c26760 = (word) GetWDir←P1380(0);
{
word pd74;
pd74 = (* (( (ptr) (* (( (ptr) gf←c27976)+92)/* var←c26024 */ ))+6) );
var←c26728 = (word) ( *( (fPt) ((* (ptr) pd74 ))))(var←c26760, name←v6628, pd74);
};
};
{
word pd75;
pd75 = (* (( (ptr) (* (( (ptr) gf←c27976)+92)/* var←c26024 */ ))+30) );
fullUName←v6672 = (word) ( *( (fPt) ((* (ptr) pd75 ))))(var←c26728, 0, 2147483647, pd75);
};
};
};
};
SOURCE(8296, 202)
return(fullUName←v6672);
}
static word GetWDir←P1380(wDir←v6732)
word wDir←v6732;
{
register ptr gf←c28008 = (ptr) &globalframe;
word var←c6776;
/* GetWDir: */
SOURCE(8504, 295)
SOURCE(8557, 164)
{
word pd76;
pd76 = (* (( (ptr) (* (( (ptr) gf←c28008)+92)/* var←c26024 */ ))+13) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd76 ))))(wDir←v6732, pd76))) {
SOURCE(8584, 148)
{
word propList←v9068;
SOURCE(8586, 49)
{
word pd77;
pd77 = (* (( (ptr) (* (( (ptr) gf←c28008)+96)/* var←c26792 */ ))+6) );
propList←v9068 = (word) ( *( (fPt) ((* (ptr) pd77 ))))(pd77);
};
SOURCE(8637, 84)
{
word var←c26856;
{
word pd78;
pd78 = (* (( (ptr) (* (( (ptr) gf←c28008)+97)/* var←c26824 */ ))+20) );
var←c26856 = (word) ( *( (fPt) ((* (ptr) pd78 ))))((* (( (ptr) gf←c28008)+17) ), propList←v9068, pd78);
};
if ((var←c26856 == 0)) {
goto lab←L100004;
};
{
word tc79;
if (((* (( (ptr) gf←c28008)+11) ) == XR←GetReferentType(var←c26856))) {
tc79 = (word) ( (unsigned) (*(int*)var←c26856<0) == 0);
}
else {
tc79 = (word) 0;
};
if (tc79) {
{
word rope←v9112;
rope←v9112 = var←c26856;
SOURCE(8710, 11)
wDir←v6732 = rope←v9112;
};
}
else {
lab←L100004: ;
};
};
};
};
};
};
SOURCE(8735, 50)
{
word pd80;
pd80 = (* (( (ptr) (* (( (ptr) gf←c28008)+92)/* var←c26024 */ ))+13) );
if ((0 != (word) ( *( (fPt) ((* (ptr) pd80 ))))(wDir←v6732, pd80))) {
SOURCE(8762, 23)
wDir←v6732 = (word) GetDefaultWDir←P1440();
};
};
SOURCE(8787, 12)
return(wDir←v6732);
}
static word GetDefaultWDir←P1440()
{
register ptr gf←c28040 = (ptr) &globalframe;
word wdir←v6836;
/* GetDefaultWDir: */
SOURCE(8805, 102)
SOURCE(8805, 102)
wdir←v6836 = 0;
SOURCE(8856, 51)
{
word var←c26920;
{
word pd81;
pd81 = (* (( (ptr) (* (( (ptr) gf←c28040)+98)/* var←c26952 */ ))+4) );
var←c26920 = (word) ( *( (fPt) ((* (ptr) pd81 ))))((* ((( (ptr) gf←c28040)+30)) ), pd81);
};
{
word pd82;
pd82 = (* (( (ptr) (* (( (ptr) gf←c28040)+92)/* var←c26024 */ ))+6) );
return((word) ( *( (fPt) ((* (ptr) pd82 ))))(var←c26920, (* (( (ptr) gf←c28040)+31) ), pd82));
};
};
}
static word RopeOpen←P1500(name←v6896, flags←v6924, mode←v6952)
word name←v6896;
word flags←v6924;
word mode←v6952;
{
register ptr gf←c28072 = (ptr) &globalframe;
word fd←v6996;
/* RopeOpen: */
SOURCE(8913, 724)
SOURCE(9017, 620)
{
word pd83;
pd83 = (* (( (ptr) (* (( (ptr) gf←c28072)+92)/* var←c26024 */ ))+14) );
if (( (int)(word) ( *( (fPt) ((* (ptr) pd83 ))))(name←v6896, pd83) == (int)0)) {
SOURCE(9045, 59)
{
W3 var←c0199;
var←c0199.f0 = 4;
var←c0199.f1 = 0;
var←c0199.f2 = (* (( (ptr) gf←c28072)+32) );
(void) XR←RaiseError((word) (( (bPt) gf←c28072)+144)/* var←c24744 */ , (word) &var←c0199);
};
}
else {
SOURCE(9104, 535)
{
word expandedName←v9156;
word scratch←v9184;
word nameText←v9212;
word namePointer←v9240;
word result←v9268;
SOURCE(9106, 37)
expandedName←v9156 = (word) ExpandName←P1320(name←v6896);
SOURCE(9145, 70)
{
word var←c27016;
{
word pd84;
word idx85;
pd84 = (* (( (ptr) (* (( (ptr) gf←c28072)+92)/* var←c26024 */ ))+14) );
var←c27016 = (
idx85 = (word) ((word) ( *( (fPt) ((* (ptr) pd84 ))))(expandedName←v9156, pd84) + 1),
BCK(idx85, 32768)
);
};
{
word pd86;
pd86 = (* (( (ptr) (* (( (ptr) gf←c28072)+99)/* var←c27048 */ ))+6) );
scratch←v9184 = (word) ( *( (fPt) ((* (ptr) pd86 ))))(var←c27016, pd86);
};
};
SOURCE(9217, 89)
{
word var←c27080;
{
word pd87;
pd87 = (* (( (ptr) (* (( (ptr) gf←c28072)+99)/* var←c27048 */ ))+10) );
var←c27080 = (word) ( *( (fPt) ((* (ptr) pd87 ))))(scratch←v9184, expandedName←v9156, 0, 32767, pd87);
};
{
word pd88;
pd88 = (* (( (ptr) (* (( (ptr) gf←c28072)+99)/* var←c27048 */ ))+11) );
nameText←v9212 = (word) ( *( (fPt) ((* (ptr) pd88 ))))(var←c27080, 0, pd88);
};
};
SOURCE(9308, 74)
namePointer←v9240 = (nameText←v9212 + 4);
SOURCE(9404, 55)
SOURCE(9406, 53)
{
word pd89;
pd89 = (* (( (ptr) (* (( (ptr) gf←c28072)+94)/* var←c26152 */ ))+48) );
result←v9268 = (word) ( *( (fPt) ((* (ptr) pd89 ))))(namePointer←v9240, flags←v6924, mode←v6952, pd89);
};
SOURCE(9462, 31)
{
word pd90;
pd90 = (* (( (ptr) (* (( (ptr) gf←c28072)+99)/* var←c27048 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd90 ))))(scratch←v9184, pd90);
};
SOURCE(9495, 123)
if ((result←v9268 == (word) -1)) {
SOURCE(9516, 104)
{
word errno←v9348;
SOURCE(9518, 45)
errno←v9348 = (word) XR←GetErrno();
SOURCE(9565, 53)
{
W3 var←c0209;
var←c0209.f0 = 4;
var←c0209.f1 = 0;
var←c0209.f2 = (* (( (ptr) gf←c28072)+33) );
(void) XR←RaiseError((word) (( (bPt) gf←c28072)+144)/* var←c24744 */ , (word) &var←c0209);
};
};
};
SOURCE(9623, 14)
return(result←v9268);
};
};
};
}
static void RopeDelete←P1560(name←v7056)
word name←v7056;
{
register ptr gf←c28104 = (ptr) &globalframe;
/* RopeDelete: */
SOURCE(9646, 637)
SOURCE(9685, 598)
{
word pd91;
pd91 = (* (( (ptr) (* (( (ptr) gf←c28104)+92)/* var←c26024 */ ))+14) );
if (( (int)(word) ( *( (fPt) ((* (ptr) pd91 ))))(name←v7056, pd91) == (int)0)) {
SOURCE(9713, 60)
{
W3 var←c0212;
var←c0212.f0 = 4;
var←c0212.f1 = 0;
var←c0212.f2 = (* (( (ptr) gf←c28104)+34) );
(void) XR←RaiseError((word) (( (bPt) gf←c28104)+144)/* var←c24744 */ , (word) &var←c0212);
};
}
else {
SOURCE(9773, 515)
{
word expandedName←v9392;
word scratch←v9420;
word nameText←v9448;
word namePointer←v9476;
word result←v9504;
SOURCE(9775, 37)
expandedName←v9392 = (word) ExpandName←P1320(name←v7056);
SOURCE(9814, 70)
{
word var←c27176;
{
word pd92;
word idx93;
pd92 = (* (( (ptr) (* (( (ptr) gf←c28104)+92)/* var←c26024 */ ))+14) );
var←c27176 = (
idx93 = (word) ((word) ( *( (fPt) ((* (ptr) pd92 ))))(expandedName←v9392, pd92) + 1),
BCK(idx93, 32768)
);
};
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c28104)+99)/* var←c27048 */ ))+6) );
scratch←v9420 = (word) ( *( (fPt) ((* (ptr) pd94 ))))(var←c27176, pd94);
};
};
SOURCE(9886, 89)
{
word var←c27208;
{
word pd95;
pd95 = (* (( (ptr) (* (( (ptr) gf←c28104)+99)/* var←c27048 */ ))+10) );
var←c27208 = (word) ( *( (fPt) ((* (ptr) pd95 ))))(scratch←v9420, expandedName←v9392, 0, 32767, pd95);
};
{
word pd96;
pd96 = (* (( (ptr) (* (( (ptr) gf←c28104)+99)/* var←c27048 */ ))+11) );
nameText←v9448 = (word) ( *( (fPt) ((* (ptr) pd96 ))))(var←c27208, 0, pd96);
};
};
SOURCE(9977, 74)
namePointer←v9476 = (nameText←v9448 + 4);
SOURCE(10074, 44)
SOURCE(10076, 42)
{
word pd97;
pd97 = (* (( (ptr) (* (( (ptr) gf←c28104)+94)/* var←c26152 */ ))+77) );
result←v9504 = (word) ( *( (fPt) ((* (ptr) pd97 ))))(namePointer←v9476, pd97);
};
SOURCE(10121, 31)
{
word pd98;
pd98 = (* (( (ptr) (* (( (ptr) gf←c28104)+99)/* var←c27048 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd98 ))))(scratch←v9420, pd98);
};
SOURCE(10154, 129)
if ((result←v9504 == (word) -1)) {
SOURCE(10177, 108)
{
word errno←v9584;
SOURCE(10179, 45)
errno←v9584 = (word) XR←GetErrno();
SOURCE(10226, 57)
{
W3 var←c0222;
var←c0222.f0 = 4;
var←c0222.f1 = 0;
var←c0222.f2 = (* (( (ptr) gf←c28104)+35) );
(void) XR←RaiseError((word) (( (bPt) gf←c28104)+144)/* var←c24744 */ , (word) &var←c0222);
};
};
};
};
};
};
}
/* file: UXIOImpl, module: UXIOImpl, compiled at: March 18, 1994 1:59:29 pm PST */
extern void XR←install←UXIOImpl() {
NoName←Q2436();
}
extern void XR←run←UXIOImpl() { XR←Start(&globalframe); }