/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 21, 1992 5:38:37 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: UXStringsImpl, module: UXStringsImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [127296091,1255415823] UXStringsImpl"; 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 {word f0, f1;} W2; typedef word (*fPt)(); #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static void NoName←Q2124(); static void UXStringsImpl←P0(); static word ToRope←P60(); static word PerChar←P660(); static word Create←P120(); static word CreateSpace←P180(); static void CopyRefToString←P240(); static word ViewRefText←P300(); static word CreateScratch←P420(); static word ObtainScratch←P480(); static void ReleaseScratch←P540(); static void InitializeScratchPool←P600(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\007\226\142\133\300\112\324\040\017\100\230\000\000"}; static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"}; static struct {unsigned f; char r[24];} string3 = {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[44];} string4 = {2752556, "\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261\000"}; static struct {unsigned f; char r[48];} string5 = {2883632, "\260\006\005\146\151\162\163\164\220\257\300\227\306\253\223\300\107\163\142\023\101\144\005\004\162\145\163\164\214\220\257\300\227\306\253\223\300\107\163\142\023\101\144\261\000\000\000"}; static struct {unsigned f; char r[4];} string6 = {131074, "\003\001\000"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\007\226\142\133\300\112\324\040\017\100\164\000\000"}; static struct {unsigned f; char r[4];} string8 = {196611, "\004O\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\220\270\074\115\300\121\012\115\357\100\150\000\000"}; static struct { word f0[23]; word f23; word f24; word f25; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40; word f41; word f42[3]; } globalframe = { {0}, (word) InitializeScratchPool←P600, 0, (word) ReleaseScratch←P540, 0, (word) ObtainScratch←P480, 0, (word) CreateScratch←P420, 0, (word) ViewRefText←P300, 0, (word) CopyRefToString←P240, 0, (word) CreateSpace←P180, 0, (word) Create←P120, 0, (word) ToRope←P60, 0, (word) UXStringsImpl←P0, {0} }; static void NoName←Q2124() { register ptr gf←c0118 = (ptr) &globalframe; word var←c12656; (* (( (ptr) gf←c0118)+18) ) = (word) XR←GetTypeIndexS((word) (&string1)); (* (( (ptr) gf←c0118)+19) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3); (* (( (ptr) gf←c0118)+20) ) = (word) XR←GetTypeIndexS((word) (&string4)); (* (( (ptr) gf←c0118)+21) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6); (void) XR←DeclareGlobalFrame((word) "UXStringsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8) , (word) (( (bPt) gf←c0118)+164)/* var←c11216 */ ); var←c12656 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string9)), 43); (* (( (ptr) gf←c0118)+43)/* var←c11312 */ ) = var←c12656; (void) XR←ImportProcS(var←c12656, 67634434); (void) XR←ImportProcS(var←c12656, 67373569); (void) XR←ImportProcS(var←c12656, 67902211); var←c12656 = (word) XR←ExportInterface((word) "UXStrings", (word) XR←GetTypeIndexS((word) (&string10)), 9); (* (( (ptr) gf←c0118)+44)/* var←c12688 */ ) = var←c12656; (void) XR←ExportVar(var←c12656, 0, (word) (( (bPt) gf←c0118)+88)/* var←c10896 */ ); (void) XR←ExportProcS(var←c12656, (word) (( (bPt) gf←c0118)+148)/* var←c11152 */ , 67371265); (void) XR←ExportProcS(var←c12656, (word) (( (bPt) gf←c0118)+140)/* var←c11120 */ , 67371521); (void) XR←ExportProcS(var←c12656, (word) (( (bPt) gf←c0118)+156)/* var←c11184 */ , 67633922); (void) XR←ExportProcS(var←c12656, (word) (( (bPt) gf←c0118)+124)/* var←c11056 */ , 67372033); (void) XR←ExportProcS(var←c12656, (word) (( (bPt) gf←c0118)+116)/* var←c11024 */ , 67372289); (void) XR←ExportProcS(var←c12656, (word) (( (bPt) gf←c0118)+108)/* var←c10992 */ , 67372545); (void) XR←ExportProcS(var←c12656, (word) (( (bPt) gf←c0118)+100)/* var←c10960 */ , 263937); (void) XR←ExportProcS(var←c12656, (word) (( (bPt) gf←c0118)+132)/* var←c11088 */ , 526338); } static void UXStringsImpl←P0(formal←c021, formal←c020) word formal←c021; word formal←c020; { /* UXStringsImpl: */ SOURCE(38, 4696) SOURCE(4711, 23) (void) InitializeScratchPool←P600(); } static word ToRope←P60(formal←c0133, maxLength←v3164) word formal←c0133; word maxLength←v3164; { W8 var←c12720; /* declaration of from←v3136 skipped */ register ptr gf←c12752 = (ptr) &globalframe; word r←v3208; /* declaration of var←c11248 skipped */ word len←v4552 = 0; /* declaration of pos←v4580 skipped */ var←c12720.f4/* from←v3136 */ = formal←c0133; /* ToRope: */ SOURCE(132, 358) { word tmpAddr11; tmpAddr11 = (word) (( (ptr) &var←c12720)+5)/* var←c11248 */ ; (* (ptr) tmpAddr11 ) = ( ((word) (fPt) PerChar←P660) ); (* (( (ptr) tmpAddr11) + 1) ) = 1; }; SOURCE(132, 358) r←v3208 = 0; SOURCE(231, 17) var←c12720.f7/* pos←v4580 */ = 0; SOURCE(326, 28) if ((var←c12720.f4/* from←v3136 */ == 0)) { SOURCE(343, 11) return(0); }; SOURCE(356, 67) lab←L100002: ; { word tc12; if (((word) (* (( (bPt) var←c12720.f4/* from←v3136 */ )+len←v4552) ) != 0)) { tc12 = (word) ( (int)len←v4552 < (int)maxLength←v3164); } else { tc12 = (word) 0; }; if (tc12) { } else { goto lab←L100000; }; }; SOURCE(402, 21) len←v4552 = (len←v4552 + 1); goto lab←L100002; lab←L100000: ; SOURCE(425, 27) if (( (int)len←v4552 == (int)0)) { SOURCE(441, 11) return(0); }; SOURCE(454, 36) { word pd13; pd13 = (* (( (ptr) (* (( (ptr) gf←c12752)+43)/* var←c11312 */ ))+31) ); return((word) ( *( (fPt) ((* (ptr) pd13 ))))(len←v4552, (word) (( (bPt) &var←c12720)+20)/* var←c11248 */ , 2147483647, pd13) ); }; } static word PerChar←P660(formal←c12784) word formal←c12784; { word c←v4684; formal←c12784 = (formal←c12784 - 20); /* PerChar: */ SOURCE(250, 71) SOURCE(294, 14) c←v4684 = (word) (* (( (bPt) (* (( (ptr) formal←c12784)+4) ))+(* (( (ptr) formal←c12784)+7) )) ); SOURCE(310, 11) (* (( (ptr) formal←c12784)+7) ) = ((* (( (ptr) formal←c12784)+7) ) + 1); SOURCE(250, 71) return(c←v4684); } static word Create←P120(from←v3360) word from←v3360; { register ptr gf←c12816 = (ptr) &globalframe; word string←v3420; /* Create: */ SOURCE(572, 620) SOURCE(572, 620) string←v3420 = 0; SOURCE(634, 558) { word var←c11344; word var←c11376; var←c11344 = from←v3360; if ((var←c11344 == 0)) { goto lab←L100003; }; var←c11376 = XR←GetReferentType(var←c11344); { word tc14; if (((* (( (ptr) gf←c12816)+19) ) == var←c11376)) { tc14 = (word) ((*(int*)var←c11344<0) == 0); } else { tc14 = (word) 0; }; if (tc14) { { word r←v4712; r←v4712 = var←c11344; SOURCE(672, 189) { word len←v4756; word rtn←v4784; SOURCE(674, 25) { word pd15; pd15 = (* (( (ptr) (* (( (ptr) gf←c12816)+43)/* var←c11312 */ ))+14) ); len←v4756 = (word) ( *( (fPt) ((* (ptr) pd15 ))))(r←v4712, pd15); }; SOURCE(701, 48) { word var←c11408; word var←c11440; word var←c11472; var←c11408 = (len←v4756 + 1); var←c11440 = (((var←c11408 + 3) >> 2) << 2); var←c11472 = XR←NewObject(var←c11440, (* (( (ptr) gf←c12816)+18) )); rtn←v4784 = var←c11472; }; SOURCE(759, 75) SOURCE(761, 53) { register word i←v4840 = 0; register word noName←c11504; noName←c11504 = len←v4756; if (( (int)i←v4840 >= (int)noName←c11504)) { goto lab←L100004; }; lab←L100007: ; SOURCE(787, 27) { word var←c11536; { word pd16; pd16 = (* (( (ptr) (* (( (ptr) gf←c12816)+43)/* var←c11312 */ ))+9) ); var←c11536 = (word) ( *( (fPt) ((* (ptr) pd16 ))))(r←v4712, i←v4840, pd16); }; (* (( (bPt) rtn←v4784)+i←v4840) ) = var←c11536; }; i←v4840 = (i←v4840 + 1); if (( (int)i←v4840 < (int)noName←c11504)) { goto lab←L100007; }; lab←L100004: ; }; SOURCE(816, 16) (* (( (bPt) rtn←v4784)+len←v4756) ) = 0; SOURCE(837, 22) string←v3420 = rtn←v4784; }; }; } else { if (((* (( (ptr) gf←c12816)+20) ) == var←c11376)) { { word r←v4884; r←v4884 = var←c11344; SOURCE(879, 186) { word len←v4940; word rtn←v4968; SOURCE(881, 28) { word base←v10848; base←v10848 = r←v4884; { word tc17; word idx18; if ((base←v10848 == 0)) { /*1*/ tc17 = (word) 0; /*1*/ } else { /*1*/ tc17 = (word) (* (hPt) base←v10848 ); /*1*/ }; len←v4940 = ( /*1*/ idx18 = (word) tc17, /*1*/ BCK(idx18, 32768) /*1*/ ); }; }; SOURCE(911, 48) { word var←c11600; word var←c11632; word var←c11664; var←c11600 = (len←v4940 + 1); var←c11632 = (((var←c11600 + 3) >> 2) << 2); var←c11664 = XR←NewObject(var←c11632, (* (( (ptr) gf←c12816)+18) )); rtn←v4968 = var←c11664; }; SOURCE(969, 69) SOURCE(971, 47) { register word i←v5024 = 0; register word noName←c11696; noName←c11696 = len←v4940; if (( (int)i←v5024 >= (int)noName←c11696)) { goto lab←L100009; }; lab←L100012: ; SOURCE(997, 21) { word limit19; (* (( (bPt) rtn←v4968)+i←v5024) ) = (word) (* ((( (bPt) r←v4884)+4)+( /*1*/ limit19 = (word) (* (( (hPt) r←v4884)+1) ), /*1*/ BCK(i←v5024, limit19) /*1*/ )) ); }; i←v5024 = (i←v5024 + 1); if (( (int)i←v5024 < (int)noName←c11696)) { goto lab←L100012; }; lab←L100009: ; }; SOURCE(1020, 16) (* (( (bPt) rtn←v4968)+len←v4940) ) = 0; SOURCE(1041, 22) string←v3420 = rtn←v4968; }; }; } else { lab←L100003: ; SOURCE(1080, 112) if ((from←v3360 == 0)) { SOURCE(1106, 88) { word rtn←v5068; SOURCE(1108, 44) rtn←v5068 = XR←NewObject(4, (* (( (ptr) gf←c12816)+18) )); SOURCE(1154, 14) (* (bPt) rtn←v5068 ) = 0; SOURCE(1170, 22) string←v3420 = rtn←v5068; }; } else { SOURCE(1201, 5) (void) XR←RaiseUnnamedError(); }; }; }; }; }; SOURCE(572, 620) return(string←v3420); } static word CreateSpace←P180(size←v3480) word size←v3480; { register ptr gf←c12848 = (ptr) &globalframe; word string←v3524; word rtn←v5124; /* CreateSpace: */ SOURCE(1236, 140) SOURCE(1236, 140) string←v3524 = 0; SOURCE(1303, 49) { word var←c11760; word var←c11792; word var←c11824; var←c11760 = (size←v3480 + 1); var←c11792 = (((var←c11760 + 3) >> 2) << 2); var←c11824 = XR←NewObject(var←c11792, (* (( (ptr) gf←c12848)+18) )); rtn←v5124 = var←c11824; }; SOURCE(1354, 22) string←v3524 = rtn←v5124; SOURCE(1236, 140) return(string←v3524); } static void CopyRefToString←P240(ref←v3584, string←v3612) word ref←v3584; word string←v3612; { register ptr gf←c12880 = (ptr) &globalframe; word rtn←v5180; /* CopyRefToString: */ SOURCE(1382, 460) SOURCE(1460, 40) rtn←v5180 = string←v3612; SOURCE(1502, 340) { word var←c11856; word var←c11888; var←c11856 = ref←v3584; if ((var←c11856 == 0)) { goto lab←L100013; }; var←c11888 = XR←GetReferentType(var←c11856); { word tc20; if (((* (( (ptr) gf←c12880)+19) ) == var←c11888)) { tc20 = (word) ((*(int*)var←c11856<0) == 0); } else { tc20 = (word) 0; }; if (tc20) { { word r←v5236; r←v5236 = var←c11856; SOURCE(1539, 115) { word len←v5280; SOURCE(1541, 25) { word pd21; pd21 = (* (( (ptr) (* (( (ptr) gf←c12880)+43)/* var←c11312 */ ))+14) ); len←v5280 = (word) ( *( (fPt) ((* (ptr) pd21 ))))(r←v5236, pd21); }; SOURCE(1576, 75) SOURCE(1578, 53) { register word i←v5324 = 0; register word noName←c11920; noName←c11920 = len←v5280; if (( (int)i←v5324 >= (int)noName←c11920)) { goto lab←L100014; }; lab←L100017: ; SOURCE(1604, 27) { word var←c11952; { word pd22; pd22 = (* (( (ptr) (* (( (ptr) gf←c12880)+43)/* var←c11312 */ ))+9) ); var←c11952 = (word) ( *( (fPt) ((* (ptr) pd22 ))))(r←v5236, i←v5324, pd22); }; (* (( (bPt) rtn←v5180)+i←v5324) ) = var←c11952; }; i←v5324 = (i←v5324 + 1); if (( (int)i←v5324 < (int)noName←c11920)) { goto lab←L100017; }; lab←L100014: ; }; SOURCE(1633, 16) (* (( (bPt) rtn←v5180)+len←v5280) ) = 0; }; }; } else { if (((* (( (ptr) gf←c12880)+20) ) == var←c11888)) { { word r←v5368; r←v5368 = var←c11856; SOURCE(1672, 112) { word len←v5424; SOURCE(1674, 28) { word base←v10800; base←v10800 = r←v5368; { word tc23; word idx24; if ((base←v10800 == 0)) { /*1*/ tc23 = (word) 0; /*1*/ } else { /*1*/ tc23 = (word) (* (hPt) base←v10800 ); /*1*/ }; len←v5424 = ( /*1*/ idx24 = (word) tc23, /*1*/ BCK(idx24, 32768) /*1*/ ); }; }; SOURCE(1712, 69) SOURCE(1714, 47) { register word i←v5468 = 0; register word noName←c12016; noName←c12016 = len←v5424; if (( (int)i←v5468 >= (int)noName←c12016)) { goto lab←L100019; }; lab←L100022: ; SOURCE(1740, 21) { word limit25; (* (( (bPt) rtn←v5180)+i←v5468) ) = (word) (* ((( (bPt) r←v5368)+4)+( /*1*/ limit25 = (word) (* (( (hPt) r←v5368)+1) ), /*1*/ BCK(i←v5468, limit25) /*1*/ )) ); }; i←v5468 = (i←v5468 + 1); if (( (int)i←v5468 < (int)noName←c12016)) { goto lab←L100022; }; lab←L100019: ; }; SOURCE(1763, 16) (* (( (bPt) rtn←v5180)+len←v5424) ) = 0; }; }; } else { lab←L100013: ; SOURCE(1799, 43) if ((ref←v3584 == 0)) { SOURCE(1824, 18) SOURCE(1826, 14) (* (bPt) rtn←v5180 ) = 0; } else { SOURCE(1849, 5) (void) XR←RaiseUnnamedError(); }; }; }; }; }; } static word ViewRefText←P300(from←v3684) word from←v3684; { word string←v3740; /* ViewRefText: */ SOURCE(1884, 134) SOURCE(1884, 134) string←v3740 = 0; SOURCE(1963, 55) return((from←v3684 + 4)); } static word CreateScratch←P420(from←v4288) word from←v4288; { register ptr gf←c12912 = (ptr) &globalframe; word string←v4344; /* CreateScratch: */ SOURCE(2536, 662) SOURCE(2536, 662) string←v4344 = 0; SOURCE(2605, 593) { word var←c12048; word var←c12080; var←c12048 = from←v4288; if ((var←c12048 == 0)) { goto lab←L100023; }; var←c12080 = XR←GetReferentType(var←c12048); { word tc26; if (((* (( (ptr) gf←c12912)+19) ) == var←c12080)) { tc26 = (word) ((*(int*)var←c12048<0) == 0); } else { tc26 = (word) 0; }; if (tc26) { { word r←v5512; r←v5512 = var←c12048; SOURCE(2643, 200) { word len←v5556; word rtn←v5584; SOURCE(2645, 25) { word pd27; pd27 = (* (( (ptr) (* (( (ptr) gf←c12912)+43)/* var←c11312 */ ))+14) ); len←v5556 = (word) ( *( (fPt) ((* (ptr) pd27 ))))(r←v5512, pd27); }; SOURCE(2672, 59) rtn←v5584 = (word) ObtainScratch←P480(len←v5556); SOURCE(2741, 75) SOURCE(2743, 53) { register word i←v5640 = 0; register word noName←c12112; noName←c12112 = len←v5556; if (( (int)i←v5640 >= (int)noName←c12112)) { goto lab←L100024; }; lab←L100027: ; SOURCE(2769, 27) { word var←c12144; { word pd28; pd28 = (* (( (ptr) (* (( (ptr) gf←c12912)+43)/* var←c11312 */ ))+9) ); var←c12144 = (word) ( *( (fPt) ((* (ptr) pd28 ))))(r←v5512, i←v5640, pd28); }; (* (( (bPt) rtn←v5584)+i←v5640) ) = var←c12144; }; i←v5640 = (i←v5640 + 1); if (( (int)i←v5640 < (int)noName←c12112)) { goto lab←L100027; }; lab←L100024: ; }; SOURCE(2798, 16) (* (( (bPt) rtn←v5584)+len←v5556) ) = 0; SOURCE(2819, 22) string←v4344 = rtn←v5584; }; }; } else { if (((* (( (ptr) gf←c12912)+20) ) == var←c12080)) { { word r←v5684; r←v5684 = var←c12048; SOURCE(2861, 197) { word len←v5740; word rtn←v5768; SOURCE(2863, 28) { word base←v10752; base←v10752 = r←v5684; { word tc29; word idx30; if ((base←v10752 == 0)) { /*1*/ tc29 = (word) 0; /*1*/ } else { /*1*/ tc29 = (word) (* (hPt) base←v10752 ); /*1*/ }; len←v5740 = ( /*1*/ idx30 = (word) tc29, /*1*/ BCK(idx30, 32768) /*1*/ ); }; }; SOURCE(2893, 59) rtn←v5768 = (word) ObtainScratch←P480(len←v5740); SOURCE(2962, 69) SOURCE(2964, 47) { register word i←v5824 = 0; register word noName←c12208; noName←c12208 = len←v5740; if (( (int)i←v5824 >= (int)noName←c12208)) { goto lab←L100029; }; lab←L100032: ; SOURCE(2990, 21) { word limit31; (* (( (bPt) rtn←v5768)+i←v5824) ) = (word) (* ((( (bPt) r←v5684)+4)+( /*1*/ limit31 = (word) (* (( (hPt) r←v5684)+1) ), /*1*/ BCK(i←v5824, limit31) /*1*/ )) ); }; i←v5824 = (i←v5824 + 1); if (( (int)i←v5824 < (int)noName←c12208)) { goto lab←L100032; }; lab←L100029: ; }; SOURCE(3013, 16) (* (( (bPt) rtn←v5768)+len←v5740) ) = 0; SOURCE(3034, 22) string←v4344 = rtn←v5768; }; }; } else { lab←L100023: ; SOURCE(3073, 125) if ((from←v4288 == 0)) { SOURCE(3099, 101) { word rtn←v5868; SOURCE(3101, 57) rtn←v5868 = (word) ObtainScratch←P480(0); SOURCE(3160, 14) (* (bPt) rtn←v5868 ) = 0; SOURCE(3176, 22) string←v4344 = rtn←v5868; }; } else { SOURCE(3207, 5) (void) XR←RaiseUnnamedError(); }; }; }; }; }; SOURCE(2536, 662) return(string←v4344); } static word ObtainScratch←P480(nChars←v4404) word nChars←v4404; { register ptr gf←c12944 = (ptr) &globalframe; word var←c12368; word var←c12400; word var←c4448; register word i←v5924 = 0; word avail←v5952 = 0; /* ObtainScratch: */ SOURCE(3241, 730) (void) (XR←MonitorEntry((word) (( (bPt) gf←c12944)+16)/* LOCK←v2524 */ )); SOURCE(3362, 18) SOURCE(2461, 26) (* (( (ptr) gf←c12944)+12) ) = ((* (( (ptr) gf←c12944)+12) ) + 1); SOURCE(3382, 151) { register word noName←c12240 = 0; W2 var←c12272; word var←c0128; lab←L100036: ; i←v5924 = noName←c12240; SOURCE(3419, 37) var←c12272.f0 = 100; var←c12272.f1 = 512; var←c0128 = (* (( (ptr) &var←c12272)+i←v5924) ); if (( (int)nChars←v4404 <= (int)var←c0128)) { SOURCE(3456, 4) goto lab←L100034; }; noName←c12240 = i←v5924; if ((noName←c12240 >= 1)) { goto lab←L100033; }; noName←c12240 = (noName←c12240 + 1); goto lab←L100036; lab←L100033: ; SOURCE(3483, 20) SOURCE(2461, 26) (* (( (ptr) gf←c12944)+13) ) = ((* (( (ptr) gf←c12944)+13) ) + 1); SOURCE(3505, 28) { word var←c12304; var←c12304 = (word) CreateSpace←P180(nChars←v4404); (void) (XR←MonitorExit((word) (( (bPt) gf←c12944)+16)/* LOCK←v2524 */ )); return(var←c12304); }; lab←L100034: ; }; SOURCE(3547, 225) avail←v5952 = (* (( (ptr) (* ((( (ptr) gf←c12944)+8)/* available←v2804 */ +i←v5924) ))+1) ); if ((avail←v5952 == 0)) { SOURCE(3589, 183) { word r←v6080 = 0; SOURCE(3611, 16) SOURCE(2461, 26) (* (( (ptr) gf←c12944)+14) ) = ((* (( (ptr) gf←c12944)+14) ) + 1); SOURCE(3629, 15) r←v6080 = (* ((( (ptr) gf←c12944)+10)/* reserved←v2832 */ +i←v5924) ); SOURCE(3646, 45) lab←L100039: ; if (((* (( (ptr) (* (( (ptr) r←v6080)+1) ))+1) ) != 0)) { } else { goto lab←L100037; }; SOURCE(3673, 18) r←v6080 = (* (( (ptr) r←v6080)+1) ); goto lab←L100039; lab←L100037: ; SOURCE(3693, 15) avail←v5952 = (* (( (ptr) r←v6080)+1) ); SOURCE(3711, 12) (* (( (ptr) r←v6080)+1) ) = 0; SOURCE(3726, 46) { W2 var←c12336; word var←c0129; var←c12336.f0 = 100; var←c12336.f1 = 512; var←c0129 = (* (( (ptr) &var←c12336)+i←v5924) ); (* (ptr) avail←v5952 ) = (word) CreateSpace←P180(var←c0129); }; }; }; SOURCE(3775, 30) (* (( (ptr) (* ((( (ptr) gf←c12944)+8)/* available←v2804 */ +i←v5924) ))+1) ) = (* (( (ptr) avail←v5952)+1) ); SOURCE(3807, 29) (* (( (ptr) avail←v5952)+1) ) = (* (( (ptr) (* ((( (ptr) gf←c12944)+10)/* reserved←v2832 */ +i←v5924) ))+1) ); SOURCE(3839, 24) (* (( (ptr) (* ((( (ptr) gf←c12944)+10)/* reserved←v2832 */ +i←v5924) ))+1) ) = avail←v5952; SOURCE(3865, 84) if (((* (bPt) (* (ptr) avail←v5952 ) ) != 0)) { SOURCE(3896, 53) var←c12368 = (word) (( (bPt) gf←c12944)+88)/* var←c10896 */ ; var←c12400 = 0; (void) (XR←MonitorExit((word) (( (bPt) gf←c12944)+16)/* LOCK←v2524 */ )); goto lab←L100040; }; SOURCE(3951, 20) { word var←c12432; var←c12432 = (* (ptr) avail←v5952 ); (void) (XR←MonitorExit((word) (( (bPt) gf←c12944)+16)/* LOCK←v2524 */ )); return(var←c12432); }; /* c2c skipped dead code */ lab←L100040: ; SOURCE(3896, 53) { word var←c0104; var←c0104 = var←c12400; (void) XR←RaiseError(var←c12368, (word) &var←c0104); }; } static void ReleaseScratch←P540(s←v4508) word s←v4508; { register ptr gf←c12976 = (ptr) &globalframe; register word i←v6208 = 0; word r←v6236 = 0; word l←v6264 = 0; /* ReleaseScratch: */ SOURCE(3977, 329) (void) (XR←MonitorEntry((word) (( (bPt) gf←c12976)+16)/* LOCK←v2524 */ )); SOURCE(4079, 22) if ((s←v4508 == 0)) { SOURCE(4095, 6) (void) (XR←MonitorExit((word) (( (bPt) gf←c12976)+16)/* LOCK←v2524 */ )); return; }; SOURCE(4103, 203) { register word noName←c12464 = 0; lab←L100045: ; i←v6208 = noName←c12464; SOURCE(4140, 15) r←v6236 = (* ((( (ptr) gf←c12976)+10)/* reserved←v2832 */ +i←v6208) ); SOURCE(4157, 149) lab←L100048: ; l←v6264 = (* (( (ptr) r←v6236)+1) ); if ((l←v6264 != 0)) { } else { goto lab←L100046; }; SOURCE(4185, 111) if (((* (ptr) l←v6264 ) == s←v4508)) { SOURCE(4207, 15) (* (( (ptr) r←v6236)+1) ) = (* (( (ptr) l←v6264)+1) ); SOURCE(4224, 26) (* (( (ptr) l←v6264)+1) ) = (* (( (ptr) (* ((( (ptr) gf←c12976)+8)/* available←v2804 */ +i←v6208) ))+1) ); SOURCE(4253, 21) (* (( (ptr) (* ((( (ptr) gf←c12976)+8)/* available←v2804 */ +i←v6208) ))+1) ) = l←v6264; SOURCE(4276, 12) (* (bPt) s←v4508 ) = 0; SOURCE(4290, 6) (void) (XR←MonitorExit((word) (( (bPt) gf←c12976)+16)/* LOCK←v2524 */ )); return; }; SOURCE(4301, 5) r←v6236 = l←v6264; goto lab←L100048; lab←L100046: ; noName←c12464 = i←v6208; if ((noName←c12464 >= 1)) { goto lab←L100042; }; noName←c12464 = (noName←c12464 + 1); goto lab←L100045; lab←L100042: ; }; SOURCE(3977, 329) (void) (XR←MonitorExit((word) (( (bPt) gf←c12976)+16)/* LOCK←v2524 */ )); return; } static void InitializeScratchPool←P600() { register ptr gf←c13008 = (ptr) &globalframe; /* InitializeScratchPool: */ SOURCE(4330, 357) (void) (XR←MonitorEntry((word) (( (bPt) gf←c13008)+16)/* LOCK←v2524 */ )); SOURCE(4371, 149) { register word i←v6392 = 0; lab←L100052: ; SOURCE(4408, 28) (* ((( (ptr) gf←c13008)+10)/* reserved←v2832 */ +i←v6392) ) = XR←NewObject(8, (* (( (ptr) gf←c13008)+21) )); SOURCE(4438, 82) { register word j←v6436 = 0; register word noName←c12560; W2 var←c12528; var←c12528.f0 = 8; var←c12528.f1 = 2; noName←c12560 = (* (( (ptr) &var←c12528)+i←v6392) ); if ((j←v6436 > noName←c12560)) { goto lab←L100053; }; lab←L100056: ; SOURCE(4482, 38) { word var←c12592; var←c12592 = XR←NewObject(8, (* (( (ptr) gf←c13008)+21) )); (* (( (ptr) var←c12592)+1) ) = (* ((( (ptr) gf←c13008)+8)/* available←v2804 */ +i←v6392) ); (* ((( (ptr) gf←c13008)+8)/* available←v2804 */ +i←v6392) ) = var←c12592; }; if ((j←v6436 >= noName←c12560)) { goto lab←L100053; }; j←v6436 = (j←v6436 + 1); goto lab←L100056; lab←L100053: ; }; if ((i←v6392 >= 1)) { goto lab←L100049; }; i←v6392 = (i←v6392 + 1); goto lab←L100052; lab←L100049: ; }; SOURCE(4540, 147) { register word i←v6480 = 0; lab←L100060: ; { word l←v6524; SOURCE(4577, 3) l←v6524 = (* (( (ptr) (* ((( (ptr) gf←c13008)+8)/* available←v2804 */ +i←v6480) ))+1) ); SOURCE(4617, 70) lab←L100063: ; if ((l←v6524 != 0)) { } else { goto lab←L100061; }; SOURCE(4634, 41) { W2 var←c12624; word var←c0130; var←c12624.f0 = 100; var←c12624.f1 = 512; var←c0130 = (* (( (ptr) &var←c12624)+i←v6480) ); (* (ptr) l←v6524 ) = (word) CreateSpace←P180(var←c0130); }; SOURCE(4677, 10) l←v6524 = (* (( (ptr) l←v6524)+1) ); goto lab←L100063; lab←L100061: ; }; if ((i←v6480 >= 1)) { goto lab←L100057; }; i←v6480 = (i←v6480 + 1); goto lab←L100060; lab←L100057: ; }; SOURCE(4330, 357) (void) (XR←MonitorExit((word) (( (bPt) gf←c13008)+16)/* LOCK←v2524 */ )); return; } /* file: UXStringsImpl, module: UXStringsImpl, compiled at: February 21, 1992 5:38:36 pm PST */ extern void XR←install←UXStringsImpl() { NoName←Q2124(); } extern void XR←run←UXStringsImpl() { XR←Start(&globalframe); }