#include "M3Runtime.h" typedef struct { int tc; char* str; int len; } TXT; PRIVATE TXT txt1 = { 3, "FALSE", 6}; PRIVATE TXT txt2 = { 3, "TRUE", 5}; PRIVATE TXT txt3 = { 3, "NIL", 4}; #line 138 "Fmt.m3" #define t4 ADDRESS typedef signed_char t15; typedef int t9; #define t29 ADDRESS #define t45 void #define TC29 TC_REFANY IMPORT TYPE TC_REFANY; IMPORT char VS_REFANY__4b8748e831fc107a; #define t7 ADDRESS #define TC7 TC_TEXT IMPORT TYPE TC_TEXT; IMPORT char VS_TEXT__b7a92447326386f5; #define t7_MapProc TC_TEXT->mapProc typedef unsigned char t17; #line 13 "./Fmt.i3" typedef unsigned char t16; #line 118 "Fmt.m3" typedef struct { t9 _field; t17 _char; t16 _align; } t12; typedef struct { t9 _start; t9 _length; t7 _arg; t9 _argLength; t12 _pad; } t6; #line 37 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef struct { char* elts; int size[1]; } t39; #line 134 "Fmt.m3" #define t3 t39 typedef struct { t6 elts[32]; } t5; typedef struct { t4 _next; t5 _buffer; } t14; PRIVATE void t4_MapProc (); PRIVATE void t4_PrintProc (); PRIVATE typecell t4_TC; PRIVATE typecell t4_TC_init = {0, 0, 0, 0, 0, t4_MapProc, #line 138 772, 0, NIL, 0, 0, (PROC)NIL, (PROC)NIL, t4_PrintProc, "", 838062799, 716539781}; PRIVATE TYPE TC4 = &t4_TC; #define t30 ADDRESS typedef int t18; #define TC30 TC_ADDRESS IMPORT TYPE TC_ADDRESS; IMPORT char VS_ADDRESS__30f7308738738b44; #line 20 ".ROOT/.boots/corelib/Interfaces/TextF.i3" #define t38 ADDRESS #define t2 t39 #define TC38 TC_TEXT #define t49 ADDRESS #define TC49 TC_NULL IMPORT TYPE TC_NULL; IMPORT char VS_NULL__fb50c7d53bec30dc; #line 99 "Fmt.m3" #define t1 t39 typedef t7 (*t8)(); #line 197 typedef void (*t10)(); #line 181 typedef t45 (*t11)(); #line 141 typedef t9 (*t13)(); #line 99 typedef signed_char t19; typedef struct { t7 elts[5]; } t20; #line 70 typedef signed_char t21; typedef struct { t17 elts[100]; } t22; #line 57 typedef signed_char t23; typedef struct { t17 elts[101]; } t24; typedef double t25; #line 15 "./Fmt.i3" typedef unsigned char t26; typedef float t27; #line 14 typedef signed_char t28; #line 27 "Fmt.m3" typedef signed_char t31; typedef struct { t17 elts[37]; } t32; typedef unsigned char t33; #line 14 typedef struct { t7 elts[2]; } t34; #line 96 ".ROOT/.boots/corelib/Interfaces/Convert.i3" typedef t25 (*t35)(); #line 92 typedef t27 (*t36)(); #line 86 typedef t18 (*t37)(); #line 67 ".ROOT/.boots/corelib/Interfaces/Text.i3" typedef signed_char t40; typedef t40 (*t41)(); #line 55 typedef t33 (*t42)(); #line 23 typedef t17 (*t43)(); typedef CLOSURE t44; #define t48 ADDRESS typedef struct { TYPE self; int private; } t48_methods; #define t48_msize (sizeof (t48_methods)) typedef struct { ADDRESS methods; } t48_fields; #define t48_size (sizeof (t48_fields)) #define TC48 TC_ROOT IMPORT TYPE TC_ROOT; IMPORT char VS_ROOT__349f58f628be0ac6; #define t48_MapProc TC_ROOT->mapProc #define t46 ADDRESS #define TC46 TC_MUTEX IMPORT TYPE TC_MUTEX; IMPORT char VS_MUTEX__1f9d4e89391ab815; #define t46_MapProc TC_MUTEX->mapProc #define t47 ADDRESS typedef struct { TYPE self; int private; } t47_methods; #define t47_msize (sizeof (t47_methods)) typedef struct { ADDRESS methods; } t47_fields; #define t47_size (sizeof (t47_fields)) #define TC47 TC_UNTRACED_ROOT IMPORT TYPE TC_UNTRACED_ROOT; IMPORT char VS_UNTRACED_ROOT__3e0964513fd6da20; #line 9 "Fmt.m3" IMPORT INITLINK* Convert__init; IMPORT INITLINK* Word__init; IMPORT INITLINK* TextF__init; IMPORT INITLINK* Text__init; IMPORT INITLINK* Fmt__init; #line 9 IMPORT EXCEPTION_NAME _Convert__Failed; IMPORT char VS_Convert__Failed__2816e40d3f5c20d1; IMPORT t18 _Convert__FromInt (); #line 9 IMPORT char VS_Convert__FromInt__ef7d44523e253eab; IMPORT t18 _Convert__FromUnsigned (); IMPORT char VS_Convert__FromUnsigned__8fba906a31ad84fa; #line 9 IMPORT t18 _Convert__FromFloat (); IMPORT char VS_Convert__FromFloat__23a5efdb2af5c200; IMPORT t18 _Convert__FromLongFloat (); #line 9 IMPORT char VS_Convert__FromLongFloat__114d507b263cb69e; IMPORT TYPE TC_Text__T; IMPORT char VS_Text__T__fc4b369f3ab271fd; #line 9 IMPORT t9 _Text__Length (); IMPORT char VS_Text__Length__661a58173d76f41c; IMPORT t7 _Text__Sub (); IMPORT char VS_Text__Sub__ba151c702fe1a06f; #line 9 IMPORT t7 _Text__FromChar (); IMPORT char VS_Text__FromChar__3896ff8a3ced0505; IMPORT t7 _Text__FromStr (); IMPORT char VS_Text__FromStr__4675e29c281840d3; #line 9 EXPORT t7 _Fmt__Bool (); EXPORT char VS_Fmt__Bool__cbcf85e9214ffde4 = '\0'; EXPORT t7 _Fmt__Int (); EXPORT char VS_Fmt__Int__6e220fa1366cffbc = '\0'; #line 9 EXPORT t7 _Fmt__Unsigned (); EXPORT char VS_Fmt__Unsigned__30e640872bf48cfc = '\0'; EXPORT t7 _Fmt__Addr (); EXPORT char VS_Fmt__Addr__eba30fcb3dce2897 = '\0'; #line 9 EXPORT t7 _Fmt__Ref (); EXPORT char VS_Fmt__Ref__078bac85317832c2 = '\0'; EXPORT t7 _Fmt__Real (); EXPORT char VS_Fmt__Real__f6676f802935222e = '\0'; #line 9 EXPORT t7 _Fmt__LongReal (); EXPORT char VS_Fmt__LongReal__a75dda5e2a97d101 = '\0'; EXPORT t7 _Fmt__Char (); EXPORT char VS_Fmt__Char__a7317d2e2d31bf09 = '\0'; #line 9 EXPORT t7 _Fmt__Pad (); EXPORT char VS_Fmt__Pad__b11d3472276e7bbc = '\0'; EXPORT t7 _Fmt__F (); EXPORT char VS_Fmt__F__0ee0332d2446c0dc = '\0'; #line 9 EXPORT t7 _Fmt__FN (); EXPORT char VS_Fmt__FN__0f31bbdf34721d68 = '\0'; PRIVATE EXCEPTION_NAME _Fmt__FFailed = "_Fmt__FFailed"; #line 9 PRIVATE TYPE TC_Fmt__RefSpecBuffer; PRIVATE t9 _Fmt__FormatSpecifier (); PRIVATE t45 _Fmt__PutSpec (); PRIVATE void _Fmt__GetSpec (); #line 9 IMPORT char VS_TEXT__db80a199220abd03; #line 13 "Fmt.m3" EXPORT t7 _Fmt__Bool (_b) t33 _b; { #line 13 "Fmt.m3" { PRIVATE t34 _Map = {{ ((ADDRESS)(& txt1.str)), ((ADDRESS)(& txt2.str)) }}; auto t7 __result; { ZERO1 (& __result); CHECKSTACKOVERFLOW; __result = (_Map.elts[_b]); return __result; } } }; #line 19 "Fmt.m3" EXPORT t7 _Fmt__Int (_n, _base) t18 _n; t28 _base; { t39 z2; t18 z5; t18 z3; t18 z4; t18 z6; t7 z1; #line 19 "Fmt.m3" { auto t32 _chars; auto t18 _used; auto t7 __result; { ZERO (37, & _chars); #line 19 ZERO1 (& __result); CHECKSTACKOVERFLOW; { z2.elts = (char*) (& _chars); z2.size[0] = 37; }; z5 = _Convert__FromInt (&z2, _n, _base, 0 ); _used = z5; z3 = 0 ; if (z3 < 0) RANGEFAULT; z4 = _used; if (z4 < 0) RANGEFAULT; { z5 = z3; z6 = z4; if ((z5+z6) > 37) RANGEFAULT; #line 23 z2.size[0] = z6; z2.elts = ((char*)(& _chars)) + (z5 * 1); }; z1 = _Text__FromStr (&z2); __result = z1; return __result; #line 23 } } }; #line 26 "Fmt.m3" EXPORT t7 _Fmt__Unsigned (_n, _base) t18 _n; t28 _base; { t39 z2; t18 z5; t18 z3; t18 z4; t18 z6; t7 z1; #line 26 "Fmt.m3" { auto t32 _chars; auto t18 _used; auto t7 __result; { ZERO (37, & _chars); #line 26 ZERO1 (& __result); CHECKSTACKOVERFLOW; { z2.elts = (char*) (& _chars); z2.size[0] = 37; }; z5 = _Convert__FromUnsigned (&z2, _n, _base, 0 ); _used = z5; z3 = 0 ; if (z3 < 0) RANGEFAULT; z4 = _used; if (z4 < 0) RANGEFAULT; { z5 = z3; z6 = z4; if ((z5+z6) > 37) RANGEFAULT; #line 30 z2.size[0] = z6; z2.elts = ((char*)(& _chars)) + (z5 * 1); }; z1 = _Text__FromStr (&z2); __result = z1; return __result; #line 30 } } }; #line 33 "Fmt.m3" EXPORT t7 _Fmt__Addr (_n, _base) t30 _n; t28 _base; { t33 z2; t7 z4; #line 33 "Fmt.m3" { auto t7 __result; { ZERO1 (& __result); CHECKSTACKOVERFLOW; z2 = (_n == 0); if (z2) { __result = ((ADDRESS)(& txt3.str)); return __result; }; z4 = _Fmt__Unsigned ((*((t18*)(& _n))), _base); __result = z4; return __result; } } }; #line 41 "Fmt.m3" EXPORT t7 _Fmt__Ref (_r, _base) t29 _r; t28 _base; { t33 z2; t7 z4; #line 41 "Fmt.m3" { auto t7 __result; { ZERO1 (& __result); CHECKSTACKOVERFLOW; z2 = (_r == 0); if (z2) { __result = ((ADDRESS)(& txt3.str)); return __result; }; z4 = _Fmt__Unsigned ((*((t18*)(& _r))), _base); __result = z4; return __result; } } }; #line 49 "Fmt.m3" EXPORT t7 _Fmt__Real (_x, _p, _s) t27 _x; t9 _p; t26 _s; { t39 z2; t18 z5; t18 z3; t18 z4; t18 z6; t7 z1; #line 49 "Fmt.m3" { auto t24 _chars; auto t18 _used; auto t7 __result; { ZERO (101, & _chars); #line 49 ZERO1 (& __result); CHECKSTACKOVERFLOW; { z2.elts = (char*) (& _chars); z2.size[0] = 101; }; z5 = _Convert__FromFloat (&z2, _x, _p, _s); _used = z5; z3 = 0 ; if (z3 < 0) RANGEFAULT; z4 = _used; if (z4 < 0) RANGEFAULT; { z5 = z3; z6 = z4; if ((z5+z6) > 101) RANGEFAULT; #line 53 z2.size[0] = z6; z2.elts = ((char*)(& _chars)) + (z5 * 1); }; z1 = _Text__FromStr (&z2); __result = z1; return __result; #line 53 } } }; #line 56 "Fmt.m3" EXPORT t7 _Fmt__LongReal (_x, _p, _s) t25 _x; t9 _p; t26 _s; { t39 z2; t18 z5; t18 z3; t18 z4; t18 z6; t7 z1; #line 56 "Fmt.m3" { auto t24 _chars; auto t18 _used; auto t7 __result; { ZERO (101, & _chars); #line 56 ZERO1 (& __result); CHECKSTACKOVERFLOW; { z2.elts = (char*) (& _chars); z2.size[0] = 101; }; z5 = _Convert__FromLongFloat (&z2, _x, _p, _s); _used = z5; z3 = 0 ; if (z3 < 0) RANGEFAULT; z4 = _used; if (z4 < 0) RANGEFAULT; { z5 = z3; z6 = z4; if ((z5+z6) > 101) RANGEFAULT; #line 60 z2.size[0] = z6; z2.elts = ((char*)(& _chars)) + (z5 * 1); }; z1 = _Text__FromStr (&z2); __result = z1; return __result; #line 60 } } }; #line 63 "Fmt.m3" EXPORT t7 _Fmt__Char (_c) t17 _c; { t7 z2; #line 63 "Fmt.m3" { auto t7 __result; { ZERO1 (& __result); CHECKSTACKOVERFLOW; z2 = _Text__FromChar (_c); __result = z2; return __result; } } }; #line 68 "Fmt.m3" EXPORT t7 _Fmt__Pad (_text, _length, _padChar, _align) t7 _text; t9 _length; t17 _padChar; t16 _align; { t9 z3; t18 z1; t33 z2; t18 z4; t21 z5; t9 z6; t18 z7; t39 z8; t18 z9; t18 z10; t7 z11; t7 z12; #line 68 "Fmt.m3" { auto t22 _buff; auto t18 _len; auto t7 _pad; auto t7 __result; { ZERO (100, & _buff); ZERO1 (& _pad); #line 68 ZERO1 (& __result); CHECKSTACKOVERFLOW; z3 = _Text__Length (_text); z1 = _length - z3; _len = z1; z2 = (_len <= 0 ); if (z2) { __result = _text; return __result; }; { int from, to, index; from = 0 ; z4 = _len - 1 ; z5 = 99 ; z1 = z4; if (z5 > z1) z5 = z1; to = z5; { auto t18 _i; #line 74 { for (index = from; index <= to; index += 1) { _i = (t18) index; z4 = _i; if (z4 > 99) RANGEFAULT; (_buff.elts[z4]) = _padChar; #line 74 } } }; }; z4 = 0 ; if (z4 < 0) RANGEFAULT; z6 = 100 ; z7 = _len; if (z6 > z7) z6 = z7; z7 = z6; if (z7 < 0) RANGEFAULT; { z9 = z4; #line 75 z10 = z7; if ((z9+z10) > 100) RANGEFAULT; z8.size[0] = z10; z8.elts = ((char*)(& _buff)) + (z9 * 1); }; z11 = _Text__FromStr (&z8); #line 75 _pad = z11; z2 = (_len >= 100 ); if (z2) do { z2 = (_align == 1 ); if (z2) { z11 = (ADDRESS) _Text__Cat (_pad, _text); _text = z11; goto if_4_end; }; z11 = (ADDRESS) _Text__Cat (_text, _pad); _text = z11; if_4_end: /**/; _len -= 100 ; z2 = (_len >= 100 ); } while (z2); z2 = (_len > 0 ); if (z2) { z2 = (_align == 1 ); if (z2) { z4 = _len; if (z4 < 0) RANGEFAULT; z11 = _Text__Sub (_pad, 0 , z4); z12 = (ADDRESS) _Text__Cat (z11, _text); #line 85 _text = z12; goto if_6_end; }; z7 = _len; if (z7 < 0) RANGEFAULT; z11 = _Text__Sub (_pad, 0 , z7); z12 = (ADDRESS) _Text__Cat (_text, z11); _text = z12; #line 86 if_6_end: /**/; goto if_5_end; }; if_5_end: /**/; __result = _text; return __result; } } }; #line 97 "Fmt.m3" EXPORT t7 _Fmt__F (_fmt, _t1, _t2, _t3, _t4, _t5) t7 _fmt; t7 _t1; t7 _t2; t7 _t3; t7 _t4; t7 _t5; { t20 z0; t33 z2; t33 z1; t18 z3; t33 z5; t18 z4; t18 z6; t39 z7; t18 z8; t7 z9; #line 97 "Fmt.m3" { HANDLER hproc_0; PUSH_RAISES (hproc_0, raises_1, proc_0); { auto t20 _a; auto t18 _pos; auto t7 __result; { ZERO5 (& _a); #line 97 ZERO1 (& __result); z0.elts[0] = _t1; z0.elts[1] = _t2; z0.elts[2] = _t3; z0.elts[3] = _t4; z0.elts[4] = _t5; _a = z0; _pos = 4 ; #line 97 CHECKSTACKOVERFLOW; loop_0:; z2 = (_pos < 0 ); z1 = 1; if (! z2) { z3 = _pos; if ((z3 < 0) || (4 < z3)) RANGEFAULT; z5 = ((_a.elts[z3]) != 0); z1 = z5; }; if (z1) { z4 = 0 ; if (z4 < 0) RANGEFAULT; z6 = _pos + 1 ; z3 = z6; if (z3 < 0) RANGEFAULT; { z6 = z4; z8 = z3; if ((z6+z8) > 5) RANGEFAULT; #line 104 z7.size[0] = z8; z7.elts = ((char*)(& _a)) + (z6 * 4); }; z9 = _Fmt__FN (_fmt, &z7); __result = z9; CUT_TO_NEXT_HANDLER (hproc_0); #line 104 return __result; }; _pos -= 1 ; goto loop_0; } } proc_0: CUT_TO_NEXT_HANDLER (hproc_0); if (hproc_0.exception != 0) RAISE_FOR_SURE (hproc_0.exception); }; #line 106 }; #line 141 "Fmt.m3" PRIVATE t9 _Fmt__FormatSpecifier (_fmt, _start, _pad) t7 _fmt; t9 _start; t12 * _pad; { t7 z1; t18 z3; t9 z4; t18 z2; t33 z5; t18 z6; t33 z0; #line 141 "Fmt.m3" { HANDLER hproc_0; PUSH_RAISES (hproc_0, raises_1, proc_0); { auto t17 _ch; auto t18 _pos; auto t9 __result; { ZERO1B (& _ch); #line 141 ZERO1 (& __result); NILCHECKB (z1 = _fmt); { register t39* array = & (*((t2*) z1)); z4 = _start; if (z4 >= (array->size[0])) RANGEFAULT; #line 148 z3 = (int)(array->elts + (z4 * 1)); }; _ch = (*(t17*)z3); z2 = _start + 1 ; _pos = z2; #line 141 CHECKSTACKOVERFLOW; #line 152 z5 = (_ch == '-' ); if (z5) { ((*_pad)._align) = 0 ; NILCHECKB (z1 = _fmt); z3 = _pos; if (z3 < 0) RANGEFAULT; { register t39* array = & (*((t2*) z1)); z6 = z3; if (z6 >= (array->size[0])) RANGEFAULT; #line 154 z2 = (int)(array->elts + (z6 * 1)); }; _ch = (*(t17*)z2); _pos += 1 ; goto if_8_end; }; ((*_pad)._align) = 1 ; if_8_end: /**/; z5 = (_ch == '0' ); if (z5) { ((*_pad)._char) = '0' ; NILCHECKB (z1 = _fmt); z3 = _pos; if (z3 < 0) RANGEFAULT; { register t39* array = & (*((t2*) z1)); z6 = z3; if (z6 >= (array->size[0])) RANGEFAULT; #line 161 z2 = (int)(array->elts + (z6 * 1)); }; _ch = (*(t17*)z2); _pos += 1 ; goto if_9_end; }; ((*_pad)._char) = ' ' ; if_9_end: /**/; ((*_pad)._field) = 0 ; z5 = ( '0' <= _ch); z0 = 0; if (z5) { z5 = (_ch <= '9' ); z0 = z5; }; if (z0) do { z3 = ((*_pad)._field) * 10 ; z2 = z3 + _ch; z3 = z2 - 48 ; z2 = z3; if (z2 < 0) RANGEFAULT; ((*_pad)._field) = z2; NILCHECKB (z1 = _fmt); z3 = _pos; if (z3 < 0) RANGEFAULT; { register t39* array = & (*((t2*) z1)); z6 = z3; if (z6 >= (array->size[0])) RANGEFAULT; #line 169 z2 = (int)(array->elts + (z6 * 1)); }; _ch = (*(t17*)z2); _pos += 1 ; z5 = ( '0' <= _ch); z0 = 0; if (z5) { z5 = (_ch <= '9' ); z0 = z5; }; } while (z0); z5 = (_ch == 's' ); if (z5) { z2 = _pos - _start; z3 = z2 + 1 ; z2 = z3; if (z2 < 0) RANGEFAULT; __result = z2; CUT_TO_NEXT_HANDLER (hproc_0); #line 174 return __result; }; __result = 0 ; CUT_TO_NEXT_HANDLER (hproc_0); return __result; } } proc_0: CUT_TO_NEXT_HANDLER (hproc_0); if (hproc_0.exception != 0) RAISE_FOR_SURE (hproc_0.exception); #line 176 }; }; #line 181 "Fmt.m3" PRIVATE t45 _Fmt__PutSpec (_spec, _pos, _buffer) t6 * _spec; t9 _pos; t4 * _buffer; { t18 z3; t33 z2; t4 z4; t4 z0; t9 z5; #line 181 "Fmt.m3" { HANDLER hproc_0; PUSH_RAISES (hproc_0, raises_1, proc_0); { { CHECKSTACKOVERFLOW; z3 = 31 + 1 ; if ((_pos -= z3) < 0) RANGEFAULT; z2 = (_pos > 31 ); if (z2) { NILCHECKA (z4 = (*_buffer)); _Fmt__PutSpec (&(*_spec), _pos, &((*((t14*) z4))._next)); goto if_11_end; }; z2 = (_pos == 0 ); if (z2) { { register t14* ptr = (t14*) TNEW (TC4); z0 = (t4) ptr; }; (*_buffer) = z0; goto if_12_end; }; if_12_end: /**/; NILCHECKA (z4 = (*_buffer)); z5 = _pos; if (z5 > 31) RANGEFAULT; (((*((t14*) z4))._buffer).elts[z5]) = (*_spec); #line 192 if_11_end: /**/; } } proc_0: CUT_TO_NEXT_HANDLER (hproc_0); if (hproc_0.exception != 0) RAISE_FOR_SURE (hproc_0.exception); #line 192 }; }; #line 197 "Fmt.m3" PRIVATE void _Fmt__GetSpec (_pos, _buffer, _return) t9 _pos; t4 _buffer; t6* _return; { t18 z3; t33 z2; t4 z4; t6 z5; t4 z1; t9 z6; #line 197 "Fmt.m3" { HANDLER hproc_0; PUSH_RAISES (hproc_0, raises_1, proc_0); { auto t6 __result; { ZERO6 (& __result); CHECKSTACKOVERFLOW; z3 = 31 + 1 ; if ((_pos -= z3) < 0) RANGEFAULT; z2 = (_pos > 31 ); if (z2) { NILCHECKA (z4 = _buffer); _Fmt__GetSpec (_pos, ((*((t14*) z4))._next), &z5); __result = z5; CUT_TO_NEXT_HANDLER (hproc_0); #line 201 *_return = __result; return; }; NILCHECKA (z1 = _buffer); z6 = _pos; if (z6 > 31) RANGEFAULT; __result = (((*((t14*) z1))._buffer).elts[z6]); CUT_TO_NEXT_HANDLER (hproc_0); #line 203 *_return = __result; return; } } proc_0: CUT_TO_NEXT_HANDLER (hproc_0); if (hproc_0.exception != 0) RAISE_FOR_SURE (hproc_0.exception); #line 203 }; }; #line 208 "Fmt.m3" EXPORT t7 _Fmt__FN (_fmt, _texts) t7 _fmt; t1 * _texts; { t9 z2; t33 z3; t7 z1; t18 z4; t18 z5; t18 z6; t9 z7; t9 z8; t7 z0; t6 z9; t39 z10; t18 z11; t39 z12; t33 z13; t33 z14; t7 z15; #line 208 "Fmt.m3" { HANDLER hproc_0; PUSH_RAISES (hproc_0, raises_1, proc_0); { auto t18 _fPos; auto t18 _specs; auto t9 _fmtLength; auto t9 _length; #line 208 auto t6 _spec; auto t5 _buffer; auto t4 _emergencyBuffer; auto t7 __result; { ZERO1 (& _fmtLength); ZERO1 (& _length); ZERO6 (& _spec); ZERO (768, & _buffer); ZERO1 (& _emergencyBuffer); #line 208 ZERO1 (& __result); ZERO1 ((& _fPos)); ZERO1 ((& _specs)); z2 = _Text__Length (_fmt); _fmtLength = z2; _length = _fmtLength; ZERO1 ((& _emergencyBuffer)); #line 208 CHECKSTACKOVERFLOW; #line 220 z3 = (_fPos < _fmtLength); if (z3) do { NILCHECKB (z1 = _fmt); z4 = _fPos; if (z4 < 0) RANGEFAULT; { register t39* array = & (*((t2*) z1)); z6 = z4; if (z6 >= (array->size[0])) RANGEFAULT; #line 221 z5 = (int)(array->elts + (z6 * 1)); }; z3 = ((*(t17*)z5) == '%' ); if (z3) { z4 = _fPos; if (z4 < 0) RANGEFAULT; (_spec._start) = z4; z4 = _fPos + 1 ; z5 = z4; if (z5 < 0) RANGEFAULT; z7 = _Fmt__FormatSpecifier (_fmt, z5, &(_spec._pad)); (_spec._length) = z7; z3 = ((_spec._length) != 0 ); if (z3) { z4 = _specs; if (z4 < 0) RANGEFAULT; { register t39* array = & (*_texts); z6 = z4; if (z6 >= (array->size[0])) RANGEFAULT; #line 225 z5 = (int)(array->elts + (z6 * 4)); }; (_spec._arg) = (*(t7*)z5); z7 = _Text__Length ((_spec._arg)); (_spec._argLength) = z7; z7 = (_spec._argLength); z8 = ((_spec._pad)._field); if (z7 < z8) z7 = z8; z4 = z7 - (_spec._length); if ((_length += z4) < 0) RANGEFAULT; z3 = (_specs <= 31 ); if (z3) { z4 = _specs; if ((z4 < 0) || (31 < z4)) RANGEFAULT; (_buffer.elts[z4]) = _spec; goto if_16_end; }; z4 = _specs; if (z4 < 0) RANGEFAULT; _Fmt__PutSpec (&_spec, z4, &_emergencyBuffer); if_16_end: /**/; _specs += 1 ; _fPos += (_spec._length); goto if_15_end; }; _fPos += 1 ; if_15_end: /**/; goto if_14_end; }; _fPos += 1 ; if_14_end: /**/; z3 = (_fPos < _fmtLength); } while (z3); z2 = (*_texts).size[0]; z3 = (_specs != z2); if (z3) { RAISE (& _Fmt__FFailed, 0, 0); }; z3 = (_specs == 0 ); if (z3) { __result = _fmt; CUT_TO_NEXT_HANDLER (hproc_0); return __result; }; { { auto t7 _result; auto t18 _rPos; { ZERO1 (& _result); { register t39* ptr; int sz[1]; z4 = _length + 1 ; sz[0] = z4; ptr = (t39*) TNEWA(TC7, 8 + sz[0] * 1); #line 252 ptr->elts = (char*)(& ptr->size[1]); ptr->size[0] = sz[0]; z0 = (t7) ptr; }; _result = z0; ZERO1 ((& _rPos)); _fPos = 0 ; { int from, to, index; from = 0 ; z4 = _specs - 1 ; to = z4; { auto t18 _i; { for (index = from; index <= to; index += 1) { #line 256 _i = (t18) index; z3 = (_i <= 31 ); if (z3) { z4 = _i; if (z4 > 31) RANGEFAULT; _spec = (_buffer.elts[z4]); goto if_19_end; }; _Fmt__GetSpec (_i, _emergencyBuffer, &z9); _spec = z9; if_19_end: /**/; { t18 with; z4 = (_spec._start) - _fPos; with = z4; { auto t18 _fl; { _fl = with; z3 = (_fl > 0 ); if (z3) { NILCHECKB (z1 = _fmt); z4 = _fPos; if (z4 < 0) RANGEFAULT; z5 = _fl; if (z5 < 0) RANGEFAULT; #line 268 { register t39* array = & (*((t2*) z1)); z6 = z4; z11 = z5; if ((z6+z11) > array->size[0]) RANGEFAULT; #line 268 z10.size[0] = z11; z10.elts = array->elts + (z6 * 1); }; NILCHECKB (z1 = _result); #line 268 z4 = _rPos; if (z4 < 0) RANGEFAULT; z5 = _fl; if (z5 < 0) RANGEFAULT; { register t39* array = & (*((t2*) z1)); #line 268 z6 = z4; z11 = z5; if ((z6+z11) > array->size[0]) RANGEFAULT; z12.size[0] = z11; #line 268 z12.elts = array->elts + (z6 * 1); }; { register t39* src; register t39* dest; #line 268 src = & z10; dest = & z12; if (src->size[0] != dest->size[0]) NARROWFAULT; COPY (src->elts, dest->elts, (src->size[0]) * 1); #line 268 }; _rPos += _fl; goto if_20_end; }; if_20_end: /**/; } } }; z4 = (_spec._start) + (_spec._length); _fPos = z4; { { auto t9 _al; auto t18 _padding; auto t17 _padChar; { ZERO1 (& _al); ZERO1B (& _padChar); #line 276 _al = (_spec._argLength); z4 = ((_spec._pad)._field) - _al; _padding = z4; _padChar = ((_spec._pad)._char); z3 = (_padding > 0 ); z13 = 0; if (z3) { z14 = (((_spec._pad)._align) == 1 ); z13 = z14; #line 280 }; if (z13) { { t18 with; z4 = _rPos + _padding; with = z4; { auto t18 _limit; { _limit = with; do { NILCHECKB (z15 = _result); z4 = _rPos; if (z4 < 0) RANGEFAULT; { register t39* array = & (*((t2*) z15)); #line 282 z6 = z4; if (z6 >= (array->size[0])) RANGEFAULT; z5 = (int)(array->elts + (z6 * 1)); #line 282 }; (*(t17*)z5) = _padChar; _rPos += 1 ; z3 = (_rPos == _limit); } while (! z3); } } }; _padding = 0 ; goto if_21_end; }; if_21_end: /**/; z3 = (_al > 0 ); if (z3) { NILCHECKB (z15 = (_spec._arg)); z4 = 0 ; if (z4 < 0) RANGEFAULT; z2 = _al; if (z2 < 0) RANGEFAULT; #line 287 { register t39* array = & (*((t2*) z15)); z5 = z4; z7 = z2; if ((z5+z7) > array->size[0]) RANGEFAULT; #line 287 z10.size[0] = z7; z10.elts = array->elts + (z5 * 1); }; NILCHECKB (z1 = _result); #line 287 z4 = _rPos; if (z4 < 0) RANGEFAULT; z7 = _al; if (z7 < 0) RANGEFAULT; { register t39* array = & (*((t2*) z1)); #line 287 z5 = z4; z2 = z7; if ((z5+z2) > array->size[0]) RANGEFAULT; z12.size[0] = z2; #line 287 z12.elts = array->elts + (z5 * 1); }; { register t39* src; register t39* dest; #line 287 src = & z10; dest = & z12; if (src->size[0] != dest->size[0]) NARROWFAULT; COPY (src->elts, dest->elts, (src->size[0]) * 1); #line 287 }; _rPos += _al; goto if_22_end; }; if_22_end: /**/; z3 = (_padding > 0 ); z13 = 0; if (z3) { z14 = (((_spec._pad)._align) == 0 ); z13 = z14; #line 290 }; if (z13) { { t18 with; z4 = _rPos + _padding; with = z4; { auto t18 _limit; { _limit = with; do { NILCHECKB (z15 = _result); z4 = _rPos; if (z4 < 0) RANGEFAULT; { register t39* array = & (*((t2*) z15)); #line 292 z6 = z4; if (z6 >= (array->size[0])) RANGEFAULT; z5 = (int)(array->elts + (z6 * 1)); #line 292 }; (*(t17*)z5) = _padChar; _rPos += 1 ; z3 = (_rPos == _limit); } while (! z3); } } }; goto if_23_end; }; if_23_end: /**/; #line 292 } } }; } } }; }; { t18 with; z4 = _fmtLength - _fPos; with = z4; { auto t18 _fl; { _fl = with; z3 = (_fl > 0 ); if (z3) { NILCHECKB (z1 = _fmt); z4 = _fPos; if (z4 < 0) RANGEFAULT; z5 = _fl; if (z5 < 0) RANGEFAULT; #line 302 { register t39* array = & (*((t2*) z1)); z6 = z4; z11 = z5; if ((z6+z11) > array->size[0]) RANGEFAULT; #line 302 z10.size[0] = z11; z10.elts = array->elts + (z6 * 1); }; NILCHECKB (z1 = _result); z4 = _rPos; #line 302 if (z4 < 0) RANGEFAULT; z5 = _fl; if (z5 < 0) RANGEFAULT; { register t39* array = & (*((t2*) z1)); #line 302 z6 = z4; z11 = z5; if ((z6+z11) > array->size[0]) RANGEFAULT; z12.size[0] = z11; z12.elts = array->elts + (z6 * 1); #line 302 }; { register t39* src; register t39* dest; src = & z10; dest = & z12; if (src->size[0] != dest->size[0]) NARROWFAULT; COPY (src->elts, dest->elts, (src->size[0]) * 1); #line 302 }; goto if_24_end; }; if_24_end: /**/; } } }; __result = _result; CUT_TO_NEXT_HANDLER (hproc_0); return __result; } } }; } } proc_0: CUT_TO_NEXT_HANDLER (hproc_0); #line 306 if (hproc_0.exception != 0) RAISE_FOR_SURE (hproc_0.exception); }; }; PRIVATE int init_done = -1; #line 306 "Fmt.m3" PRIVATE void Fmt__initProc (g) int g; { #line 306 "Fmt.m3" if (init_done >= g) return; init_done = g; INITIALIZE (& Fmt__init); INITIALIZE (& Convert__init); INITIALIZE (& Word__init); #line 306 INITIALIZE (& TextF__init); INITIALIZE (& Text__init); return; }; #line 306 "Fmt.m3" PRIVATE void t4_PrintProc (ref) t14* ref; { CHECKSTACKOVERFLOW; fprintf (stderr, "%s {", TC4->brand); fprintf (stderr, "^ = { "); #line 306 fprintf (stderr, "next = %#x", (*ref)._next); fprintf (stderr, "buffer = array"); fprintf (stderr, "}"); fprintf (stderr, "}\n"); #line 306 }; PRIVATE void t4_MapProc (p, r, c) void (*p) (); register t14* r; ADDRESS c; { CHECKSTACKOVERFLOW; p (& ((*r)._next), r, c); #line 306 { int i3; for (i3 = 0; i3 < 32; i3++) { p (& ((*r)._buffer.elts[i3]._arg), r, c); }; }; }; PRIVATE INITLINK me_0 ={(INITLINK*)NIL, 0, Fmt__initProc}; static char* VSimports[] = { &VS_Convert__Failed__2816e40d3f5c20d1, &VS_Convert__FromInt__ef7d44523e253eab, &VS_Convert__FromUnsigned__8fba906a31ad84fa, &VS_Convert__FromFloat__23a5efdb2af5c200, &VS_Convert__FromLongFloat__114d507b263cb69e, &VS_Text__T__fc4b369f3ab271fd, &VS_Text__Length__661a58173d76f41c, &VS_Text__Sub__ba151c702fe1a06f, &VS_Text__FromChar__3896ff8a3ced0505, &VS_Text__FromStr__4675e29c281840d3, NIL }; void Fmt__MLink (phase) int phase; { switch (phase) { case 0: { me_0.link = Fmt__init; Fmt__init = & me_0; t4_TC = t4_TC_init; REGISTERTYPE (TC4); break; }; case 1: { break; }; case 2: { break; }; }; };