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