/* 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); }