From 5a59376eaecb4caa93ee8503e092c0a92f0125b2 Mon Sep 17 00:00:00 2001 From: kieron Date: Tue, 24 Oct 2017 08:21:30 +0000 Subject: [PATCH] String utils stuff git-svn-id: https://spexeah.com:8443/svn/Asuro@235 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5099520 -> 5099520 bytes bin/kernel.bin | Bin 45284 -> 45284 bytes iso/boot/asuro.bin | Bin 45284 -> 45284 bytes lib/kernel.ppu | Bin 3335 -> 3445 bytes lib/libpconsole.a | Bin 81668 -> 81668 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 147760 -> 147760 bytes src/strings.pas | 32 ++++++++++++++++++++++++++++---- 8 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 304238fa6b2ccd8b7c35be833ca628a6e9bd568c..3e9f077e767df17bfb0c5f60a4cb59fd8afccf04 100644 GIT binary patch delta 16009 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 delta 15377 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 diff --git a/bin/kernel.bin b/bin/kernel.bin index 196b8a04aa159d9a8248938e3ae8d3c5b254c64a..2e745194c2c1df4865ad6de3d38edb625a8b4c97 100755 GIT binary patch delta 5556 zcmaJ_4OmpynLhV2FryL~6f%GyqYQ$G^1C1iWI!>f7}4NwF;T0dNlBvCpVmz>n(>F5 zfmA)olf*WSR1;{Mq^@K1YO{3&9?_Y`M&S`%(-{y{Y38lL_YEZvwZkrzRjFtxHFS6{%?yD_&Kx1Qui=p>t14vom#=n zUdKrjJ2Fn(DCKv}O>$f%-yNN0++$-*$TRr|(KbsR#s=la~b@XCs)PGH7%%OBeo#=A;<>!ndse(7hxQ4ZYz7;O^mGjB5C9=2 z^0k&GxwVWBSh9?ku~>rr5An=6o2Boe&=OoR>Px`H)&jmZ4)Rhy5C?e@$;)_VJmh6V za+59}A-4XDXKj3=K%PZKVLegRC=4gI;JjVVib1TJKXF&`6nb&`zc%OXe1dV zYZ6AZb4T=8d0jCtNX#-`j>kk6Oyl*5Hp@HHLKCq@>Ju3y3Uhf&Vw1eCh!-S59!K(G zUY`Vc@sRuhT^=q9b9hS<3%u$#Z#QD&&Y2tjiv& z%ZCfgMBbGOc{X1(0dj1C$j#x66ClqSl0T@+hY3qM@0zefI>u+E<$ZViNXD8CFX4dL z4Z?+v+W&p*)X&NCllA!50+U!ZBxoQjauWn)_X)y97-MI|aJ!gF{zURW#{ZHwDOXET z8F?uC>4{#ka2QTWjRmK~3WYj@WOpJ^cHeM}s-~_yl9!~%JGG^H;Q_EKi0vV(fvoee z#H=hdhtnBroZIiN?05N1o0Cp4{HZb;u?_3o(5CJseHrXq)}Yfs&gDVpVRDXxEe5Bc zIWYmv=Qvv8xl}YxH3jYHn}L8h??-bF%P$Up4(s$}WLYm`a4K@C$0*D+s_FVD#+oX{ zDT$KY!|tkfOjKm$qdS`h{U=Gykg8Y6ihy-r&0VzF`y=7)h1V$rnVRrpSV5tYLcdAE zCp95$({@;2?<3K{eIzTmk6#P0k3)h6vV!|~pCGi4PHZFzf*T3zz5x+UaYN;jW@x-+PIfVy8IsMwCRIw!Z8_~;Cq zoSMmtGAaz8Wa>|r*E3QrWf163mIVE5TgAB)ektQUX(``1X}{e0C6CKYOgcLWSK3aS z3ES>AD|eJ0F#tw2(JD52=4Yl!(h~l|$uAk}r~;pnUr8IwGpFQA>-ghS#!1`xjw$id zPX6O5EmAF?p0ylpbCxHwfz*e>5$Pw|L|}D=*TO_xrh2d8bTgzp%Ea?&e0z5GIP#Se z_5D_>o8O509*9%c zu}IVkm3je<*!H(T;MA2Qa6QEJ5$7OoJ?Z+1%iIEPfyR+8A6>PUxH94xadpIPA}#}5 zd($yw!gZ$%s28jtXJY+C4oM}y1<7ca7wnb>d2d0Mbi@-=*e6e}!;{XTeB{`1 zHNYI|r7$rE#LMnoMy+mtxk zU5X6TrbGvwzwO*v#c)fqWj6SD!&iw25%+p3*L!2Asq!S<%^zDYMF7j2S^I&6w-2E1!*W{dJpjIM#B6 z>!!6KW<=51tsg5r?nIlb!w@_YbRzV4?_&_+js2(b$|>G5ryj8F+X9-EI-5b+WHTwx z+9H*9e>_mp54lXrxiq%az?wIiY{)9pWU>DRVbHVG)yZt zl<7J{(Z#K|UUV94ZbWw@x*O459p-jdp9w31ds4X9j4Iqn>I~gd%ro}E;4%p0gU^wT=C({Pmjm@hB{5{dzCg7!PzYXs!^YW_yHfxXUCD}XLQL7iv7LRq7BpF}cj+6EF zXFPp&ZfYyplRpatn(Z_2Sf36{Jwn`4vU$FB#!BEJEu7l`S-&Tm$yJ=zoUI=aGZswa8_Mzsc+4lRJK_L1{-8baJjh6^3* z-2hPiKgB=0ad{VYdVbi8g-R-%?CA|56=JaJ3E`8`uqyg93-n1mb=pLwr7f@Yam;R z zGjCaxCts-Y{AtlhNxm?P_bu))_LIx>`Dm4b(^eZ)q>lB=zC++Uoe13XqYC<&yyY^uqaIT##R6eB( zWci@dz8!b;S4$HL`uCZ=yS$sK8+!0;q#NE)`QG}8-kN4|1TNgl3ptL%fwxI$tgN^0mS`GwZu4a*)Ly`mZgs2;5HX21Kn!E^10`aM^dJrm*F zv>%Qwzr*X@hGS^zzC^PX_o`^~qIv3n(Y$sN4gWQo$8ZM=8A z;>aCXlkTE%oJX_r6q1t}ixA-JWUN3*~t6V(>Mi8;41In?)b*AFR*gexX@T+WO4K`qk*J zTT@^E3~=-M^=mc)tLH7QT(EE7Xiv$m)zUD7I~b&q|9p3Hcn3m7^LKZTk-GV3yXPjv z?GAcLMJcR!uF@-$!Od&-*!jUdF&QmsX734ny70M-PcJ@q@c9a#5$R@c96qV|L1fzR`n z(h}xucs3aGyFk3@uyi2R_zNJtE{uOJSo<63Q*F0_05P4ST9l7~04)Ipr$AH`1*RlaC~2v1DvAoF zBovUwQh}6&3a8i$`Q(>+oQb=FQ3_~|nLz!;2p>OkQzUqf&rKF_-c z+QWwK6xtFBKuB9Gxbo9Av#5uT#(u*Kp2Cy=A8lwo{(?f)~E|@VDf8_07dY z-VgMt5NbKN@nHSm9nDa^w6s(&Ast2HX%zLTGD7-h5l=^s`gG(76LdaQsa5aWbfl9< z<1hoKX3&u%f{q*^9Wg>WVuW@bX8CD^hyt delta 4921 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 z zGjCaxCts-Y{AtlhNxm?P_bu))_LIx>`Dm4b(^eZ)q>lB=zC++Uoe13XqYC<&yyY^uqaIT##R6eB( zWci@dz8!b;S4$HL`uCZ=yS$sK8+!0;q#NE)`QG}8-kN4|1TNgl3ptL%fwxI$tgN^0mS`GwZu4a*)Ly`mZgs2;5HX21Kn!E^10`aM^dJrm*F zv>%Qwzr*X@hGS^zzC^PX_o`^~qIv3n(Y$sN4gWQo$8ZM=8A z;>aCXlkTE%oJX_r6q1t}ixA-JWUN3*~t6V(>Mi8;41In?)b*AFR*gexX@T+WO4K`qk*J zTT@^E3~=-M^=mc)tLH7QT(EE7Xiv$m)zUD7I~b&q|9p3Hcn3m7^LKZTk-GV3yXPjv z?GAcLMJcR!uF@-$!Od&-*!jUdF&QmsX734ny70M-PcJ@q@c9a#5$R@c96qV|L1fzR`n z(h}xucs3aGyFk3@uyi2R_zNJtE{uOJSo<63Q*F0_05P4ST9l7~04)Ipr$AH`1*RlaC~2v1DvAoF zBovUwQh}6&3a8i$`Q(>+oQb=FQ3_~|nLz!;2p>OkQzUqf&rKF_-c z+QWwK6xtFBKuB9Gxbo9Av#5uT#(u*Kp2Cy=A8lwo{(?f)~E|@VDf8_07dY z-VgMt5NbKN@nHSm9nDa^w6s(&Ast2HX%zLTGD7-h5l=^s`gG(76LdaQsa5aWbfl9< z<1hoKX3&u%f{q*^9Wg>WVuW@bX8CD^hyt delta 4921 zcmaJ^3sjV48vg#D%M9Ka6dbNP;2g*!1Ysvp!h}6bk<}xUqffbHX+3EGGTJsju}OByj(kh z?wIP;gOh1uID^6AltXf-LHwnU_bubCu7vm&>9 zJf7N5ZCaU-<&)^$hy>L+iLOT+41Hmu5Qi-`ZJ&^JFfoTHIx#ph>oz(V_r&)e&*6hM ztz5_{K4u9s7yu@n86l^E@kV}SBK0#zhX?zFLqY2)Z|2c>bFyj}N6XFiYECZQHm4ar zj>8fpBo{JVj(_qWPutJX%1j=K6YA>w1f*^T?adF7ivG&^-vfJ;kg5@2u z*-url6hm5QVN9N4qZeaJhkZE!JMHXaavnR6MA}Wx_TfO}?P2R`ln||C3mc-kvneY! z&F~@!c`1h~Vy))fpY%?|(odhrK-rc?O|kW=JBza7Adh5uHdVwyp5vGI*X2R7EtQ($ zARk9rLm)S^Jc}xZK%VWF576Z%**2P*hCrT4SwkTo%<^$mF%)tfBj2&LgzEBO*_J|0 zLm|(gEDPijEYGA03*_Vca+5AM%C=-jlcgabC}IrHx*{x6b*0ffYnowg7)G8NLtCv@ zbL`mOk@?~J$N<@tL~Yi3)s;%~5+OISJdL&{LXKFzy7D7*c^}y{oZ1p0A5HUyLmtZV zRN6Wm@-)AEur3dgO^MVte7&-Y?oG;gC?6Zv*j7w(9v!_g`IksEjL?3?+T1E z!7nIctKTXJzVGjkU<{H0LY$O+@}(QB7R&x2bRj7@-J7DY-~KU=k95k25S)?{Gfs&G z3T+C@-V8?Bzw3ih#oRsBpK?b;Re6_cGRG=ob{AW8Tzg7uVEy-4#H$vcGmxEeKIZ{;UgQ{xzz;9FStCnHOxiour^SS=jppZ(x{4X3@nP#y;>q#e7f=zn1^n)xMl+EFuTpOT7x`_+r)<}A0)a1Z7F@5ig;geB`<^d4scUZK3G%a#>JVhiQQg+kn6IGyMe`?piBxI8|QUwa;`DULY#3=f7Uf-Qo-2qRoksUi2Dl= z$GhT?s1_=%8I64QUmnl#eavahony|%+?XNYI+^RY2HY$!$GUKIwM^zFGUtp1m&@E7 z=0<^Qt#83Cf~S@Jw$@+)IT-6F$MUg#j>6K1sW}Ohl|HIp`C9ls#tkeJhEYX2UM;u< zd|T8NuWwPPG(=NV`df;NmSjXKF2|aT-~e>iWer99Qr2eWJXy2Tlm^F~>}%@i6uf_I z_D^l=FL{Jb`!GPpfH*wBrga8L6U@+~ADsNk==CTu^w@ZJqzgra9tpQje)zBZuo0n0 z+UsKn)#V|>gw!yf^W8HWiv$jzXmrur6I#_bB58f@@?kB{n4BlOg6lOQEzbJY&Yokq zL&SHl+B`w*3OyRsLVfe5#r~Mi@nl|=8)wq?_eY6e^8thHOlnUx5Q=#AK zA!^(K;KFG^Q4TrpbDF%*(gkDIw_<)y-1LryX^LW4RgEzpU8P;c>4~*$FS+XRH0Dpi z^Y$rNS_5--wlub?t~$OhUW#Gs(HZ;|Ets*=P|NnqUsA`6l~D)S{zCdDe;uebGZX$L zExJExw$|&lwFQ+Fk92wrS_v}kp9Nbx$Ii1ngt=n^w<>OW}P@Xlm!Bf1Uj|vrWNR;Jl{ri{FnOq#93h7> zxr@o&y`)7BxJ>)zj#sNE)A_l-GTbPD*VgKIdfqP8(8ALB7s$LYLoNHMqj=!}MJ=03 zrHf7*I@vY#GfG;Vp;i`A>EgPg$Ocf==dsb@uxxGlMx*F8ZOesySx>0NWiNDlxw^SM z_L4x|blXc}SJ-ia9?7qZ2&c5t#OM?bHVDDawu-s-%Qe>m?Mr&>t<|{u9xsi~>fB*+ zZgQ?Fu65z5$ME}c5)#=R(D#1X9WYIohbp0lm{I~}u@JP}+qXD1x5b>h8y5nfq(3(Z>G zF*3as&0}AqF}{r^-~^fnaCganuoeCen$Xi|UO$TFRa7mTzk!u}2h9r|X#T>(Vw=&l z9Y=Gi9Zmn=qcPq_^IZ!zZ^h0aWFOf{h2_%>8@ZB?KcE-OGt{n`j&tRieH~@XD%Hc4 z<4sD7V?uSd8rA;1?=8}T6NUGM;67e2;+&&yL!(NY)|(uqo641tZe3SFXEzTGIskPT zy|+0=X`zrU)1%#+d{J1%Q3Rfh{L<@wo+`KGo6JcjXA-V#TvKsT^Oo@F12EpibpqF) zak+3^#`SHI%77KM~Obq`2Y~#j7vo%96Y(1Ab3%Z0|DLy9GnAjQ5=|) zaG|W_!nr6el#_5k9?J!C5-yx$kE7|^Tva_d4jh${%VXqn8F@+haPihL@>VhOGBENq z7`bdlu9A_LgOR7jhmx0zFndW@o7$nWa#Lcof zpUInPvI0xq=3OkJtbAO|3~<25JozrC37a@jNRoN7I9D{EJd&(3^W+9D4K{P2kR|iv zbzGTTI#5|t=E;iOVtn>Uik%^f!+}DP%#(|`>x_JWOaY)(p+K68fq@BRE7NZkAjzo3 l4J6}{bSDGZIn0xld9oNwC-?CvGFDICz+=eRIQbEeDge6vC@25` delta 235 zcmew=)h;C)5D;o;Y|7Hi$iU2SAV7)XJ`V%KjbPj3-()m0RVKdSF%gOj0eQ z!n!Nzv{F4hTI_>|ZCTQYoWAx|#1Qw(s0Tf8ALG;e=?JCJG={kzP$8>L5H5vMaJ^e6 zEbPA=E)o{{^G9UH>jN$PrrX8q-rf0_#J0kp*l`IjYO3t6D!6*5Y%VGAo;XQZR2fYG zVI`@8-v0zKD9P7&<|ZdIXgX7(f)uO|P!RNV2jka9TKI6;1+~H3mO7i_gS~Swkt$=% z5Wm9`pk*%N47rx^z|4?i3$|uf@-p~&wSdXI6jGr)O#K-XKF9L+7~9Twb_U_=NINP) z$=0xpVXgAuQUdyOa}*PkI51{Cr|*`f*VD!n$LCQCpZLGrV&38klgCge>VR~|OD%~S z(PEW&0~_D!6b#)Rwa1|Ofy0)gLh#XV;)Ul?XeD0Dw853iS;A`zDy+<`VBcKeZ?nsU z3zHuB@$@_4xL<5VSyHsdR@jz8C_ldZMM@Kg80>jfWt*=8YYR@gnrSsl324oyYBIi} z9`L}6+6Brn@fd^Z`?qM?nA@`t3F=Ao99*LHYVgVB`F&)XK3%!IjolzuMI delta 1126 zcmZuwL1+_E5an+|wM)^pgzPq2O^QK`p{`g>0|A2-l~l?S1hGibKn^)nK@o~jn?sNy z9ts~Cp-=-khzc4zfq;clMe89}5K2JBC_PlDNQ+hlk>dVrXLbem^xwQUZ~n~R$*sF{ z>+Z1~O_6T%i#+al-n?<-@qh+ydCg^GFDP$7+IFz>(tf|+f8dbbZDpBK6;_nbB-Jw- zta*}dJ5}Y;VlO;w%aTUq^tP`chIl|mJs83J7@yipM<|7-FwBjh23dWaa4DRE>sT%(?+Id1lCSa1Ely_8bf!cFDOm5PAQct_`lpj-sTDu$51EgfON-4Er}Y@ zVwHFko4?g57`!{;j6w4Qmm^1m(4*hP3(up_O1z$FgDaJ@gjeS^Se{QuM}FIF>>vKfe4$N(+Y>?0QvY8?OSZ^KQDDWi>+yXw4^UGQOe_ zRN+PK0_9kEltK0VTQqIV?b(L}^(1-@Ez){5_~g>u9x_dzu3X;2Zjh__uT;FPEV&yM Z)>X{iKWr_(qfMLY`p*O^(HN^re*sSVR`LJ< diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index e2e611f67777da79580a7ea06cfd3c9a38ab0c4b..e91c493507a4fa1ee63d7fb6748157148ae08a2e 100644 GIT binary patch delta 568 zcmezHi1EWC#tAZP7RF{4re+(Jd|08($qGhdo4Z(lF(dOAa2{Yn@WnUR^1MdjxAK2S z;)`uwz`31ivcD)NvYt}W-xzB6E%fsB6%0)cEFkUxTMpJNFNdPJR#A&_bH4mXMr0Ff z6{V3}DZY8DiY5|YZ1XSmBS?IS&3Ci~(D<5+lmD9WPnKa3+N`F#kCD$5=p2M=HY*sZ zA!!iXoMh_4g6x2sHd2g}^W_CLzqLA#;>fD@2K9!h+BJYvfg2D%f_xx<6 X@CHTT4yMU9c^n9H#5XU@JI@3F-VB}a delta 568 zcmezHi1EWC#tAZP<`zI;zER1C70R5fU?jG=i}e>XGJgT*0VV`rd~+?&YZQJf|92$5 z*yaVC+nFZ&i*h3CDHZ*Vp@!c=FJE85(A2;J;tsIoV9oM!D4J^(wHP<&%YS4aarYyJ_iz3~_4w`YHQ&e`8N z``xAu%tDQ17ZANNZO6tC8^J4w~61OLsZHOHnrP~Sd&5o!U2~~-1{7X(rN;9@m z_W-P*6B1!E>A6|QybldR;4boLTzDWBl^Vn(PfdtF>@a=3BQa#KH;&CrIu(S?o1rk8 zxdm3RRjHqvP7)xiQaee~%y3dUCWIBwKB1yQR`&GVXdv$7aPq;JaOO>K3s@XBnJ^?5 ztD5hU&TR7&9m>&I_+57-RrB*mcWx)E&FkdMsUyha<<%OkJkJ3_dv7(K3`_(t>_QzZ7_MvTd`(ll5 zdsq%p8RK~#l0&f0SfYG-#>|Ul)?uBOeQ4D=vreyb8EdO=(()@KZS}p9WLE>$c}t^N zXOR#|uU^RRHtO{-um`@dV^#BW*__=wG+q~qFPF^O-9@TzIoZ^vb~8ZaEnx-C`u-A9 z&}`gV8p9YSeWPNKEz{y}nbt*P$f0{fnD^U&wrLqw2OFK6!I zR(RzzlRyHb@Jbg;8nCo2y}VZgyu4StsCxl8S@yM7h@54NK~2Hl5f9rsq&5+>$=0C` zDUQlvr7*;e>A2~}DKiX(y?aw(%sY|*toDwjMDIwbnHcrG1f~3E2UxRHAQX{y+FA!r zT2u@L%=hGIpjEFx1>GD9YLsID{CF7nWpQo1lTM0&J-opQPM{x!fi556XvqUL&Hs&r z>BbC>4U6P+C&G6SnG{qEzvnnJV1I@={Q3L9cJKI5k0A;f?t^h>h?`V@ZmWcD2jmfe}s?D zgiB_oV$yIdm?ET2E47!MhcAHZs-dt!X#O*>kT1`MiRy9?<+XV*WwiN%`zc+(eNTb@ zfJJlMod)z$8HAH-;p4e`2}Eg;$n|9!v5R*;3n3a1%?FF1S_3@%{Bp1jW{N-`?UEU}MZ{-0{#ja9%qz1JwK7Wet3FU9U1!|DXWsb}CdB9J<6M#@eWHBQ7P69_D!gz`8k(ct{ z-VfY|NIS>LVqHnYb}KxNhFQN~cUVO>;)-nyWJAP%C4V)F`We&Iib80bVgoJYXj|l2soH zAVa_)D?Vzu@}y%Hn=t%zt4~@!k`7;Sdu#|8bTy|fSH7%UqeH__xAUy!BfiPX>7DcN zgOo#TLkT@vFl_5$TZaL%JhE`D=eb%l`-wyWGPM4qG!< z%ry^1q{BF={vRzI?=7upXqal`cP%GWRrLPtj>05s%tiC4WXE;0Fv5Y~pW;}r15Eya ZN={7<=yBmJ*JwtD!+czML59QU_z#r}kx~Ev delta 3490 zcmZu!dr*{B6rZy`Kw%58SWJn{nZ}9YH7cSBGNd^?L~?Rsau^hs5vG9cVLECPsZ;7$ zFx{rxgM=*7CQam~x55XGitcpw&)8pI?|O-wlKFnzrvF=Vheo=s0a6@<;3rZAeh z1y-}0+r!JKi0cFy>vcFy>v24_;S;$&`52C&SMKJyR+Vzg_{V$~~qwZO7S^~&3# zjBIn+F(Bm?VgAdZO&1`GM67nR{t9)f0!e>Gzue_}q02nUT)fSOUOsOFS;Xpd0cW~d z-r56!7|B~JSxN1t5cc@GgAnPLqoqc9Vd>SQw3J+|XrtYJ^$olI@fN#%Xq(->Sfkq> zmP1s=c%Fyk5UewnD4(7&^J1BGSm$LQT6NB>)9YNu+UlFM{K`mMeXk_h)qr*0(rDIM zBt+7y7qYvJdOZy6!7uDs)%;vGXZH?`*M;KCC3ALnk?LDc7T45n28g^Rte{!nUqT9+ zjay4&7{kPGR1C6ZTKp~3x@ZhJbYBSbejCs>EyLpN@2$p*eZr;-&3^qsw-$HE4C|Fqe6f3$2d|H3bNG!;d&Z9Zj-0aL;X zuY6__NPrYx>0-$PmbRsr_iBKb_i7h)F90XYzSatnvy3sQDcC#WVOxjPCW1EEI@BS> zQ8}y>hPW{uH{Cd8hM}-`Zz_y=M-qY6-m#SE9SJoPqrR7*l>h7iYjz5RBGOJ<>%d8i zilKn{o*WId>J_Mx3F=jaOq3$p zE^5jv<3NpdQI8Vd@DO}%ZjcB?q)R%lnF7avW>2*xC(k}ORXf|Sf8G_Zfq1m&M&6$Q zK`lxVls(Fiq=4R}F1|MvTtItfgOj&U4_>pLAip5^m06%}-&6!2o}+=H2w49|`RGiz zWM(QR4ab5hLfW(vte2gKFM#W+p|C+{{xh(UFVBVv>T(d}wRtdkwE2SjDP6#QPl5h` zMRVMp2J})Hgp+IG&q1e|oM`4!o=^$ub(IK3#AphB?~9f!AAIpu{DmZH{p#%9i4lZ-RPv z1*~!wyGrSi8q~h{`BQXHD1ZAcP=j19b6mF11Ah9Q0E8kUixJ6p5;y`8#!GCEyp;d; ze&9Yt+Br@Z>q;87Tj6mu%=-Ph!z!{7S8QV-8zTNI`KwXX&zPoG6hhM!8)zX<`w|*7 zeHkc4R1Q`iv)38|?{O&O1^ZyT=`R3^KpPo4=j2KIt+)= 97) and (byte(result[i]) <= 122) then result[i]:= char(byte(result[i]) - 32); + end; + stringToUpper:= result; end; function stringToLower(str : pchar) : pchar; +var + result : pchar; + i : uint32; + begin - + result:= stringCopy(str); + for i:=0 to stringSize(result) do begin + if (byte(result[i]) >= 65) and (byte(result[i]) <= 90) then result[i]:= char(byte(result[i]) + 32); + end; + stringToLower:= result; end; function stringEquals(str1, str2 : pchar) : boolean; @@ -54,7 +70,8 @@ var begin size:= stringSize(str); result:= stringNew(size); - memcpy(uint32(str), uint32(result), size); + memcpy(uint32(str), uint32(result), size); + stringCopy:= result; end; function stringNew(size : uint32) : pchar; @@ -80,8 +97,15 @@ begin end; function stringConcat(str1, str2 : pchar) : pchar; +var + size : uint32; + result : pchar; + begin - + result:= stringNew(stringSize(str1)+stringSize(str2)); + memcpy(uint32(str1), uint32(result), stringSize(str1)); + memcpy(uint32(str2), uint32(result+stringSize(str1)), stringSize(str2)); + stringConcat:= result; end; function stringContains(str : pchar; sub : pchar) : boolean;