From b050773dda62b606b0dedc72b5197108393241b8 Mon Sep 17 00:00:00 2001 From: kieron Date: Thu, 10 May 2018 09:12:34 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@681 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5251072 -> 5251072 bytes bin/kernel.bin | Bin 196836 -> 196836 bytes iso/boot/asuro.bin | Bin 196836 -> 196836 bytes lib/arp.ppu | Bin 3813 -> 3813 bytes lib/asuro.ppu | Bin 2128 -> 2128 bytes lib/fat32.ppu | Bin 13448 -> 13448 bytes lib/kernel.ppu | Bin 4854 -> 4854 bytes lib/libpconsole.a | Bin 271148 -> 271148 bytes lib/libpmultiboot.a | Bin 29980 -> 29980 bytes lib/libpsystem.a | Bin 191880 -> 191880 bytes lib/lists.ppu | Bin 5080 -> 7240 bytes lib/shell.ppu | Bin 4916 -> 4916 bytes lib/storagemanagement.ppu | Bin 11605 -> 11605 bytes lib/terminal.ppu | Bin 11999 -> 11999 bytes src/include/asuro.pas | 4 +- src/include/lists.pas | 200 +++++++++++++++++++++----------------- 16 files changed, 113 insertions(+), 91 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 87469ea37ce5ba9db7609684306875a5c187e22b..7d7e7b7cf955133c45902ec1952b856d5f16e594 100644 GIT binary patch delta 18348 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 H>f!$byl1RT diff --git a/bin/kernel.bin b/bin/kernel.bin index 44d4d5a6a0dce4c7454ed202501854ba7185cfc8..e4247951695d0532325eefff778ba1c43e28e474 100755 GIT binary patch delta 8527 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 K>I-W3#Qy@<+vrCC delta 8442 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 diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 44d4d5a6a0dce4c7454ed202501854ba7185cfc8..e4247951695d0532325eefff778ba1c43e28e474 100755 GIT binary patch delta 8527 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 K>I-W3#Qy@<+vrCC delta 8442 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 diff --git a/lib/arp.ppu b/lib/arp.ppu index e2baf4a3e956eb990d588f0d31c86a15bcb8856d..c7e05eaeba9cd3c43a2f5d82324f14e71dca7209 100644 GIT binary patch delta 19 bcmaDV`&4$qM2_;eFFUg3JYR2|>B9#AVmJw8 delta 19 bcmaDV`&4$qL=NF&D`&4(F16e^(}xcLS+@vl diff --git a/lib/asuro.ppu b/lib/asuro.ppu index 42571ce3bccabdbb4bba52576b601b769032e9dd..6f0896547b9ef8ebb59caa5518cd751479323ce7 100644 GIT binary patch delta 47 zcmV+~0MP%?5YP~i6bO}m#xLcOYf6zEG6TH}^s!N)1py#2*)&o%$T#@>CqEqjF{K`{k$=7AuA*A=FhB#j2s4*RtDx)h6bB;*i{$- Ds`(F{ diff --git a/lib/fat32.ppu b/lib/fat32.ppu index f451d48b8a6034552e793dfdac4f4a5afd0f278b..431257e7427c41a87b1bfa37b53ee3003c4f7201 100644 GIT binary patch delta 19 acmeCk?8uz(gQNWI%Z_Y0&)1t6JB$Hiw+V9q delta 19 bcmeCk?8uz(gG2b(%Gs-xOD#7sb{GQyTQ&%K diff --git a/lib/kernel.ppu b/lib/kernel.ppu index ca40488f0ae9072bf112d2f75cf2f6ab0d06cf1f..4188c7ba2407fa9aa0e7f196fb3c1a2964e1031a 100644 GIT binary patch delta 28 kcmeyS`b~900P|+9FB^lcm^jMczU;`B^L)K|DpR5W0K0_@U;qFB delta 28 kcmeyS`b~900CVlP&l`iSm^g%wt(?7Dxzuv=RHj4$0KfVS8~^|S diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 1ad5249d5ef4d282280361bb41e7534272daf6b8..230fb4fcb179e40a413219c7d04117638b1de283 100644 GIT binary patch delta 3484 zcmZWseQ;FO6`yl9U!)7X#F!5nk~OB{#IP(BBGJ*(I51S!O@uUwG(dz*n1Kk98KnY& zNGVg>472iR&eSTTG(`qOfIO3fAC0RrOp-#_iiNaNSUZT8rU;>+i6XskU*5fM^}qK! z=XXBt`MB@B_TyUnaV?k=S2TM@@sYgN?C8VJ#&qLc_Lr_G;K)bVhbcewuAS!bc&5*q zF{^l{$u>#7ch^}Y6U?9D0KEkcFyFgS(sTjzg6BJR|Fk3{G-Dphh@M#;l10JqgJ0Jk z$}tueS1D=a2Ko){p#w^ywL*X%SPE{#`{U1~*znE$wFG+8>c@<`elj&y(B)SGK-H4Yc&W)>F|2HSD~lAZY4rxF(S39MM$OuXrNB74ZmR<2&u+It ztx>Y!O{*H6jXAb7-I(1ppj>-?nUiQ|K)ws$H`tOPbzr zFrY7eBh`5Q$SNtM`dsjn??Fs7e$%yDiVf|J0SSa*wNd_ON5FHTe@LwnK31dxdio0# zs6BN_ouT$ahl8QB&q|FRKIS)i&s~-R0xkpCr;rv89SQ~A z;07wZ7uks&`LU>N`BVIVJ zJPN)V9BwOug|Z>6JqR0;>~Z6^N8nO|L?V-H;Lrltr#v?W;DGdO435kL{nYr0wDBYq zh=+Ln;P^Xf%S>3rzH;aW+f{c3j7qEMlyc2tSSLk1v;@=;a^y)!kSTW8Ic&xB`nhHm zY*waUJ_R306xI9IIrY8ID18QZJqKAfJA?nd2`1YpojpzPFNLzVfmbG>pZGXHtG0>p z==l|-Nih#K!%~H6UxXbBxm%!4t`9f=9#$!xxbjLA64U;T3cPJUaH}GT^^THAkdnE4K04O4-jBN_lk*?P9oDi_s2VeQpaO@i&>U{W zWT5^fIE6o7j3=$~y((B%R2EOkzymdS(^8QzC?Rbl_VMWzc-}T+>eT?-uYU@Q<774y>s~Yhe>v3nJxKx|)#+X8UcJ?E+Z%2D%Gx+p&yr#Gp zUcj#uy3vdy3XKcmEs02=1+@EpOw#8}j-&s^VoCe~QI@`)$m^e}dIcGt>(H zXNRq#(E9>^dL$NKdp#C^#j!a4tynyI((`9sgHsuV9gV7Ta zoIv+2b0zcb>-aX%$Tj?)^dTtwRdDg=aZ{nIBk1@>3g5!T&)aq+z62iTty^4eiazHT du7wmOaKq#{aqMqh?WT0>*w#KR_r&$%{{g*SbyxrZ delta 3484 zcmZWsdvH|c6`yl9FVY2WV$6evWR0mfF)YhdqNAm8V5qD~gl!UOfC!l|0}&!KN(BOu zQl{DrvvO(9)GDMjMFvBFT$6*3##I?6Ng-^-LRu-T9Yjl0giz2#k$!h??)Tl*|L*Uc z-+6rJ@!fmdj%#hlwO~%%^l8(5NAg;-qYpb9(v5T3U%8@yBOhZgrcC#)o#OF$rp}x; zvuK9NHc35q*IFbK%%9`{Jp~Rh-@8!KbOH2&=R0)&lq4fGZ63;qo|)~EMZq6}U)LVW zF%}k8Drw{f`VH-&14^Q`KnXpt6x@dQC!b5P;hX!S1bXA@$BesvIyqL*=~n{do6=^f zHQE;Ki<3#!Req>I<&utgsmWh4q-=aEXDM3a>J3t(`{w$M>a`C`fpK)*Rs{mjZnr^= zQM}ksxxnqGgf zL|^)5s`18=RZ>WGx!@sMJaP!qMuwA-jq1Y{HBwYCQ`kNsRq`=FPq}LDmIgkb=ifFdgB4yPG#d91mo| zZfU?`Gv1eE7G3LBNa)FUIO+WnCAMs;_@SNgDyl`B3 z6nr%}+&T*u%7(D^AZ$po$BkPbflCPziA=JALknP^^4wSg2c&0XV0a$rr^b$_jVGZ% zJjCk<$KFX>X22r$1)vLTS6$^WBCVoR%GHZuofPrl5>P|PktZQRrr1^Muoctm=jv6k zS($$I6nrRARPS5o)b~82^cmdw9Aw$-4F2~fm}sMP_B6u36w2NPUYUe`;*%0uwM~pi z_pc#Mig~aJmMT>966{dO-3+yIeYolOuuAE~l~=5gnD%c~;BEUMPw7H!aF0Y?N1#Iz z1rUQW(CKVXC>2FV4kgD^{}Zls3PzxSwj@9zc^A8Kt;PiZ4rxG#--f+*cUWv?IZ#eA zBhuPn$)o)X#`ijgl#8yFs69IBdUGa4E zXRbS``y5QBta4W#Ux>hM(5CvnZ?ox&yEz2xgfqp10kxDCE6J;_7 zfYywFTQ+Xj2qce@=%@?tk#82u7j3CzL#6q6fpFAi-@B~D8F!OC?Ui;&CelDsv2Z!@;oFrM7 zzIVA`1ty`o$<6URBbzF6JTHMchS@-wg`jc%3~ZM}B3R<;N}7%DOA%ju04JzmVy{Z{ z%`205&5tpx99BMpTNO#Hca%hel+1zo=vdP_Kkk-H&VL+tSj$eKD$L~mavZcmbGQMM zf%=xrMCp0vvMnqXN`Sv(~J_gCXhOGUz=9CW+GxSYiqIF%8YkB$Kvtbu{i5J8?*3lhc-jOTzY&Z=0)ogeh=^F#2)Om z`);Okf1hn?rna2toRn3Grn(>;s}G!x)h|0^>&?H4zu@@$WA71DddBWsI)~3=jan~( zUI2RaKjOM=`3xTw(^^BDY9NiYVyq$UQ`{?WvlE|UiQF#|H-(=YFQenLDQ8F=jGl<# zIJ$3{E17R!$9I5+ui+1*4?)?lf{QnFyEV}IvrH>IP;w)SbcC$10w56;wRm;e9( diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index f57b0fbdaf816ffc5a0d96f06fda7be738d689fd..0e2eda8452b70d7d663178f4e9b6804fc37db2b5 100644 GIT binary patch delta 490 zcmbR9igC^>#tCvPW)?=48vRP3U?ke%kTUE5-Jh9Ec)Q`b=5}WU63!(5d87Hqb=btRYBD7gecON64DbNWB z7i?BA(ts-$+ni*&3KA5X1+1aQ09l3*BdVCVHW%2RfVwKcPhxY3BL_tD<^-1=P-8$o z_w$xyoSZK&usPQADpWZ{_#Y%dHV62rAlcd%cnXPE6#9rC;_(C*@y+?E$xt~E?`=je Yl1gyMdFR7JPHb~QK5}&V7M*7T0QwGzq5uE@ delta 490 zcmbR9igC^>#tCvP#zw{l8vRP3U?ke%kTUE5-Jh9Ec)Q`b=5}WU63!(5d87Hqb=btRYBD7gecON64DbNWB z7i?BA(ts-$+ni*&3KA5X1+1aQ09l3*BdVCVHW%2RfVwKcPhxY3BL_tD<^-1=P-8$o z_w$xyoSZK&usPQADpWZ{_#Y%dHV62rAlcd%cnXPE6#9rC;_(C*@y+?E$xt~E?`=je Yl1gyMdFR7JPHb~QK5}&V7M*7T00X>-lK=n! diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 04adbff49f0eddecef0e79bd44d2266693263ea4..0cc2bdb3ad5a9c2f3c802bf37780af65077acfcf 100644 GIT binary patch delta 4019 zcmZWse{faB6`pg&1V~;;Abl^T5K?roM*5mUp^0q_je|vgBq;*}BgJ_WUYwWM$YaXD zU>ie=RqWspa@(vOvBX*^76Zsu4vkUXND%W9(u~@a;b+R&)>^`nwZb~NvSP29p`g36qSwtW&vvh6WXg*BPwDMNYL~OlZC=#ddT+M- z#msD3^T0d45!t-xfYxYjjL7P$2+%y4SlY+VEAnGI!>z7b>Kr6@*ogCT zyjDHZIF;|IQpS>J*nvtnmi%1BMJ6_!0QbR7Asy$`FjTt3%|)_nli5Tt<#ug4@2yBZ z-mk@Z=yN&Hbk;}7;pRdAMn!V=wqpUpoxRP|a+A+y$}c_H1$icYMzTjme)==Fv-c5M zzQYIB?(~7CRv&obmp<^ua~8y9@orz-ig#1o==jn00qwag+Dn03@RA7}K^wV*+_(P- z`=4<4?H}}(Zhx5~SAS4Pj@)&pKeJ3;JZMjTj`eC^S{rL+$?JAqty}WC4t+rvZFwWbm$l2Ob)V?&Q%T&u`gXbI#Xe|vWWh^J!mO z4Tbvd&r*7|rBK2da!xLG+tx91*xJR__g^(yuK#fdQj{{NN42>d@2f8V$zEvsu^WloR z^GCBo;zj{<;MOpNK>R2lMy|dRX;z>1j&c*vO@+JEMYu0y=i!WL&pI zUDb0JJua|I5tLDsgEERN?wN;YGWlM+u^ORPeCsD`1+ZI(jW`Er$IjbP5Z? zecr^?_rM7dcbD){tP{ISctei=Vti#TbE^EPmauC+1glFBqst5T+zYn8BDk{xA|MXm z4A_sfWNm3}K{2r6Ati0F((i6OTR&`MkF`R?AuuJg^QX zFbZS;Bk)s3aXi)lBW+O-I*W%NvnflCkJodN%qV#2iGSG$r%g3ek=0>nGnn^Dm1UhE ztP>eOew=3_-LuJlWwO+SpMZI|RASWQ!fl*H9u|a8>P;h0s?7LsJ7k-uil&S8JK!W` zHO~1taCLez#G711@+hh@AFEoxJY0%1$5Ol0i9OFjk1CD}lg8s?ZD79zRF%@0ze=&= z`2ZG#y~F0=)4Sm~^$MlF89Ib%4X?`H43>f+~bf zpx--4(aF^vZDeninUv_uu;35y8_o_*38K8lhS$;7=Fo9SU`Z#mo7z-Z5PsVoxDdig zZ?ZQ?1DqFRM!_4utDDD#Clq@-C`4EbRit?$=Jr`3GL6ux0Up;vE$;?}2y3DBgFF!z zoUuY=8lk7p^SBmDT?`5l)vuLiiz%tB;;~5xNF{Ryp=&6vD>EmkwRVc9g){RU-^X4(63;rhVXH%?(b+sTsB?OT z)@hv{)FGaAw$8LVWSTftPszZmv+Nm$qfWgjpRKi=VymTiB%ZYh^V!HWKCPN-ee!fV zN_Ct%rexxl`GGx<##k%%EvrSQ(K=NT)SA9f`*gW7=o9g*Gw@xjL#EOB=F*_fv)|J? z%d3Mr#Iw$V6;_8#6Q}0<4D47PID@#kR%^YrCa6U`YaNbREi#Qykvi)Wk@cdnLC5Jr zekPVB>>g?iX^ge#Umo{$GO2T=9-ue1euKk(o!B_G|Ip#DDuo5%wC?MhH#*eU7j1D& zU#E8_j$Kv+7-qXZhVzSxcCPXIpOx(s3RL_j#m7m$26&8fkZEemJ?0L$0 zV{FURjdsEg$KUh?;T{~?>2SNI@30&$?p?I?(KctuyofXu7Y{w}q*Z??{FU>*k4NIo zrxbnKV&Siy;tKP|hq3m8bB*8SFgEndC#>BLJWSIya|H$ca{tq}r BRQdn_ delta 4019 zcmZWse{faB6`pg&1V~;;Abl^T5K?qdBYjOtpbO-{=-0aevAo2Ivej?>~qoR5&6u5mC zi)H@2^hoOV?=e->0&C@p@;zpTg6@j)9yhlv+r65RDa-FWskaxYoz7afX<<*xJ=yM8 zGqYv&{qOlkWYfa^TBD^QBC9GRK=Wi`NiRFE$WQGIx2kf9dvJM=OfEZZXDCu0T>cWz zip!3bM=WqVR-SQlKMToYtN#>O;@*t)$kf9lbZ*9cI^*L$o$+z4Ga+Gg4maEjvgpxs zTJ>bevN|P~i?W70J$xW)s1b+qvL=2lP3O+K3`zxHG&2wdb;E4+U=iOD1pxZR8Si@4mzA zf5P3nZ@^o+?PZEw-2ojra@U>u%u;#bfIX=u{`Z=XsH$8nr@Zld){0P)EOw{7(JNxN zKuF#^+M|7GX{eDUZ`yS=ZpoWE^aY)?<@FR_)=sC!eWI&ZC2`xTTjlB#?|_@t2l1qBo=Z^T3Si&wE>| zDb#m;k%GK=x@8ULoC;E0)?eo(3cB^z)82Jg-Y}WMp)8j1n`xihsz2cd2MmX_ItrM~ z0FzRR7_W~aQa^=SJe~#IsuUK4yG7d`2#K-;RLfM=7!XxW&>#|dpqrxVTNR=&A16KJt`|T%ZV5vO#82{J`06W=X7y_CC^zx!WVl0Jg!@8v9!{GA9gtTt^7v+6mhq9? zRXukRE-3{6oqF64zs?-35*HUkC9b<2UbGu}lpv~G1rICl1k*g#(Q9x^G3+y;Q&k-I?gpn4_1@ZQJpiIaaf8=4v=e@nL8rF*7{{KupoRwZyI@0WyZ(bAlp1uG+nIQ4ksw9 zan>(^tJ9Mq-sB>ZM^TmeSlJBb;ZmGAmfEFO?0ycqRdJl3Fcu$c1^X?as+7k3Rf_G; z2e2UQ9X1c2-UY`XSHEPwrlNMh?iYir2zMjZI`@Vxe_)T0OpeaU{Tx2ePrT6{R3U5v z{lNi>POk1~!+WdDq(one1+T;JI6E{Yi1Hd6UPD`(gU29&B^}UaYExlB_+7XEd|+iQi$G(s!;d0Y!MzaJDLtcBJM@I;({ z+6s|rgq}Xf<60gz=qmhK<<$HC;+*n$B>td| z9n!o4Q#xec>xIajHZcRg@o%u7p-QXqzgnx}T2PC4)+)JSwaC<3D8S(=^nALK;V7Tn z#)+Bu$1#q752P{HY8&UUUt}7s%$%Usnn|7(PS10EAA5C3JnQ6!tqz$+XVc`M&Z%iy zr)6qThj`Z6GTrKsY2s8hDFd&}uxA*GI(4FKrq*(bt(M}Ec-A7!XCu@2w6fIttuOQYw7~+)1``_PsFoM{|~GVnMUV3OM*JjKB#q; zRRwj3XPx=Wtqz$cPEGk4*uE-o261DJ)_P}kP>XohIux^7WE!6$wbmyh>qJAnj??-4 zOq`dnd#Ev_G1j7gdED2@q|TMPpWf8E^$z!SV&mBMV~4-06c&Wjy035A;80&*xY;p% zo!*%^c5ZgeJ1!I!gwtAhcO!d=$tH)J5SiRFaVt+yJu{A%e_?l4SP)LPwmOrr`zhzG z(JfOq+Hu<*f72I)yK!)b!|j^B!*aN|chc5JTAe}jBGOP?JoLPiR{f#yH_nGX9*H-f zQuJwyg}-%*%gq}f#+viaReqPlSpQe&DT}1~i!D0;;pFga&9r`EnFt>H#OZea58Yr! A_W%F@ diff --git a/lib/lists.ppu b/lib/lists.ppu index 3cc589d87a9c43dcd1bcd3d5d2e5a9ad85287bd7..c721e0b830c354d1611584c38261d57712901504 100644 GIT binary patch literal 7240 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 Ae*gdg literal 5080 zcmeHLS!`5Q7(V}<>2w*^E-YHQOs9YhO8_wv6;kK`qr-I48Bhv_RC;YDPN&eBvIPT? z7$F89(8NR&LrfqVd~k`0iR*(g#s^|}^1%mR@Wlmr&>&Uo|NZBlGk02+iQ&aJf0hA|fi6^|54?#P)d8(+ATYC8#V?Y_}MaWwD#yyxoi=ChgQ zn46U!aYshSj*JWz28Z3TH-3Bm{MBIg1X#iGQZ7HRC2}@#;Z!pwYKx_@Tw%EQ!{yV* zo__QEHO$T6N;S1wfl-G?b1)MM=W|c(*Rz9A7lmqt)(Nc_+8}gDXjo`J8fqe@q0FvK zHokpE4NuIif$R{engIARs`W;yj?tLjAWS99u*VF@Xa-r(8VxdQ){yd$PUV!?0;ZYP z(jCEr+307^5UI>GXe}4GW_g z6kKP85N~l*`%NfmAwu;gLFv~B4GFCkS|_w#XoJwOQ0p%lu|H(vB}T0cWwp2~yk&wk z2KeH_o;J&TVdkzZTRnA|8Jjh}<&|Ao{-A-~M5BidkJlNgw`vXaCSu}-H&qP0g0wc? zNt=;fAS!0 znY$$eW^zs_`b*vd@_LZobxh9#=RWXF`Ghw?1EpTfC;6z#^i75mhs$J~Rt(ea|9IrV&UOMzOZbaKaO z#ql5P9V`v<(QaX_9tLtX4DW|v$~|0C)M#PY3`NZ1)|t>|L*W=0TwvN-bZ8~W3MjcA zV=my$_L;qDu;>coKbaokrA{lHU$c31yug~yx0?2dSWUD+aD8x_J2<3hfrUNl!C?1N zu1@Q0rr~(r9dQe#Ozxz16qvUkd|KY% zg^U&_6PavgZ!)QK^;oA?u1I))kq=z;s90EWVQikhD6& z3%FO|fX+r^*4Nma%O$Sm2tUgsis7OAj;kr(qf?bxI9+c5O~hv{sI`6Ke(2|i>H)g`jQW>EK=wu4Bx#Y9-q7F z0Qyx0^(Z5c0Zl*Jpw6^z$i_3-I~j@nP@D-+l4}^h!!83L)m7fuefNf_Bu5 zS712pe|65%>GvG#s3CYYR9sGJwuYQyNT*0aGS2o%k&7I)%opunvM|JI+I^4aY1k_a z!#PMT_;C@!eaAhds7ne4Mxs!3$M`B4F_8DI8i)$i*y=LB%kV$4d$fCdY#DP|iKxyo zQlBxPlUdXPI+F!#85AY&-QWLlxge*vLg<#PZ4 diff --git a/lib/shell.ppu b/lib/shell.ppu index f39e4b6ff52e9a7ed6dd93e0a650cf3220dbfbd1..67257d2f359c8f5a5617545016033a5d168ca252 100644 GIT binary patch delta 19 bcmdm@wnc5iK8~q%$Mm00%=X%NEKdjkT#E@c delta 19 bcmdm@wnc5iK8|SynK5U*)1x;Y%M$_sRKo~o diff --git a/lib/storagemanagement.ppu b/lib/storagemanagement.ppu index ff784c57ceb10433e4428d45675261bdc26d81a0..3248f71984b4feb146871af4a46a6883ce2b79b0 100644 GIT binary patch delta 21 dcmcZ_bv0^(IwME<+m{{La-Od@>ocn9003^h2?hWF delta 21 dcmcZ_bv0^(IwObhv6Zt|E0 delimter) and (head[i] <> char(0)) do begin - inc(i); - end; - if head[i] = char(0) then null_delim:= true; - size:= (uint32(@head[i]) - uint32(base)) + 1; - out_str:= stringNew(size); - memset(uint32(out_str), 0, size); - memcpy(uint32(base), uint32(out_str), size-1); - elm:= puint32(LL_Add(list)); - elm - end; -end;} - -procedure LL_Test(); -var - i : uint32; - LList : PLinkedListBase; - Elem : Void; - Str : PChar; - -begin - console.writestringln('Add 3 Elements: '); - LList:= LL_New(10); - Elem:= LL_Add(LList); - Str:= PChar(Elem); - Str[0]:= 'H'; - Str[1]:= 'E'; - Str[2]:= 'L'; - Str[3]:= 'L'; - Str[4]:= 'O'; - Elem:= LL_Add(LList); - Str:= PChar(Elem); - Str[0]:= 'W'; - Str[1]:= 'O'; - Str[2]:= 'R'; - Str[3]:= 'L'; - Str[4]:= 'D'; - Elem:= LL_Add(LList); - Str:= PChar(Elem); - Str[0]:= 'T'; - Str[1]:= 'E'; - Str[2]:= 'S'; - Str[3]:= 'T'; - - for i:=0 to LL_Size(LList)-1 do begin - console.writestringln(PChar(LL_Get(LList, i))); - end; - - console.writestringln(' '); - console.writestringln('Remove Element 1:'); - LL_Delete(LList, 1); - - for i:=0 to LL_Size(LList)-1 do begin - console.writestringln(PChar(LL_Get(LList, i))); - end; - - LL_Free(LList); -end; - -function LL_FromString(str : pchar; delimter : char) : PLinkedListBase; //todo implment function for freeing pointer lists +function LL_FromString(str : pchar; delimter : char) : PLinkedListBase; var list : PLinkedListBase; i : uint32 = 0; @@ -308,4 +240,94 @@ begin end; end; +{ String Linked List } + +procedure STRLL_Add(LinkedList : PLinkedListBase; str : pchar); +var + ptr : puint32; + +begin + ptr:= puint32(LL_Add(LinkedList)); + ptr^:= uint32(str); +end; + +function STRLL_Get(LinkedList : PLinkedListBase; idx : uint32) : pchar; +var + ptr : puint32; + +begin + ptr:= puint32(LL_Get(LinkedList, idx)); + STRLL_Get:= nil; + if ptr <> nil then begin + STRLL_Get:= pchar(ptr^); + end; +end; + +function STRLL_New : PLinkedListBase; +begin + STRLL_New:= LL_New(sizeof(uint32)); +end; + +function STRLL_Size(LinkedList : PLinkedListBase) : uint32; +begin + STRLL_Size:= LL_Size(LinkedList); +end; + +procedure STRLL_Delete(LinkedList : PLinkedListBase; idx : uint32); +var + ptr : pchar; + +begin + tracer.push_trace('lists.STRLL_Delete (Don''t add static strings)'); + ptr:= STRLL_get(LinkedList, idx); + kfree(void(ptr)); + LL_Delete(LinkedList, idx); +end; + +procedure STRLL_Free(LinkedList : PLinkedListBase); +begin + STRLL_Clear(LinkedList); + LL_Free(LinkedList); +end; + +procedure STRLL_Clear(LinkedList : PLinkedListBase); +begin + while STRLL_Size(LinkedList) > 0 do STRLL_Delete(LinkedList, 0); +end; + +function STRLL_FromString(str : pchar; delimter : char) : PLinkedListBase; +var + list : PLinkedListBase; + i : uint32 = 0; + out_str : pchar; + elm : puint32; + head : pchar; + tail : pchar; + size : uint32; + null_delim : boolean; + +begin + list := LL_New(sizeof(uint32)); + STRLL_FromString:= list; + + head:= str; + tail:= head; + + null_delim:= false; + while not null_delim do begin + if (head^ = delimter) or (head^ = char(0)) then begin + if head^ = char(0) then null_delim:= true; + size:= uint32(head) - uint32(tail); + if size > 0 then begin + elm:= puint32(LL_Add(list)); + out_str:= stringNew(size + 1); //maybe + memcpy(uint32(tail), uint32(out_str), size); + elm^:= uint32(out_str); + end; + tail:= head+1; + end; + inc(head); + end; +end; + end. \ No newline at end of file