From 2c10fa3231067942c7e7d89908cec02d7a0569ef Mon Sep 17 00:00:00 2001 From: kieron Date: Sat, 5 May 2018 21:34:24 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@665 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5238784 -> 5238784 bytes iso/boot/asuro.bin | Bin 184548 -> 184548 bytes lib/E1000.ppu | Bin 15730 -> 15730 bytes lib/arp.ppu | Bin 3509 -> 3509 bytes lib/asuro.ppu | Bin 2128 -> 2128 bytes lib/console.ppu | Bin 60554 -> 60554 bytes lib/drivermanagement.ppu | Bin 9213 -> 9213 bytes lib/libpconsole.a | Bin 268632 -> 268632 bytes lib/libpmultiboot.a | Bin 29980 -> 29980 bytes lib/libpsystem.a | Bin 191880 -> 191880 bytes lib/lists.ppu | Bin 4562 -> 5080 bytes lib/mouse.ppu | Bin 5134 -> 5134 bytes lib/strings.ppu | Bin 5426 -> 4899 bytes lib/terminal.ppu | Bin 11999 -> 11999 bytes lib/tracer.ppu | Bin 3782 -> 3782 bytes src/include/asuro.pas | 8 ++--- src/include/lists.pas | 72 ++++++++++++++++++++++++++++++++++++++- src/include/strings.pas | 40 +--------------------- src/kernel.pas | 5 +++ 19 files changed, 81 insertions(+), 44 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 0c599f0d5fe82f076d22aad784e527d6c0887b9a..862dac853c807c371107f79a03f4802f4620157b 100644 GIT binary patch delta 33312 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 delta 33210 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 Pj=pfbV-ceI*)0DD|Khj< diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 66f7dd137f9cedac7cdf8c4123842b6e378260aa..8976e909c9f7628724f89dd74f3c21387b1cfc28 100755 GIT binary patch delta 23895 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 PH1T8IDZNapbXWf$?(I%c delta 23793 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 MP^6bhweH6M1KZmyasU7T diff --git a/lib/E1000.ppu b/lib/E1000.ppu index 89854ccabd39002bf15284d198157c217b243e93..6b98cd5f1e9cc732a0516ef129d6c09fb52d472f 100644 GIT binary patch delta 19 bcmexV^{HyYERH7y5vE*o<9s$Qx?lqUXE6z! delta 19 bcmexV^{HyYERGd^-%S5q*|mP-q6;#2*<%4t8HB6ypK(kF=BF6-Wafoh0$d4ZQ5r K=9_icRTu#+*Ad$Q delta 55 zcmca0a6w>#2*=_mHs>~_*L)LYjF@6%HU_L>VKkonn`Hx#T*KHU8APue15QkuRMo4YmLP diff --git a/lib/drivermanagement.ppu b/lib/drivermanagement.ppu index 5cf13df7a4da5b0abcf46df1c974e8802370eb4b..22aa6ee3463fee161c7c64ab28d73416b34cce15 100644 GIT binary patch delta 19 bcmezC{?~oNI*um=5vE*o<9s%5b5{lcVju|8 delta 19 bcmezC{?~oNI*t{7-%S5q*|mP-Hg{zJaXt$C diff --git a/lib/libpconsole.a b/lib/libpconsole.a index ca61fb07fd08dcd674e1ee7610a5cceadbafcd61..be3bae34f808399622504d433c41a5207195a48f 100644 GIT binary patch delta 3742 zcmZu!dr(wm6rXbzken5+p?4ux-LlbUMa2{y%|Y@tYU_g95GpA{rj0Miw1;DgPBvP^ zP&fS;D_9?4F-6EtPCBML^ui?D8dFk3LNi7kEG$G*>$`WwdoKCk{?7TG@0|0U$9K1( zT4|_Oiu*>49yxr}o(CRxn?FQa7OHx&yTf5YD)|9*>^Xc$-cXOnGc4udl#~?1D9l~c ze<9=QHwMgPP?K=yelM34-t_67A-PN>f{EbM^2?+2)?xWvp52P3Tx%T`uQ#U@a$R8w z_(k7~;MAK(w=jiPx5%d_r>1g|d(v$E*GKPXBHcY{HHTGGwsM%`E03`9*F7_Sx%nd*S#wXCuCHG(m^11Yy~g3vB^x-5&U@8@F73#w>3aK${dmWrOFy!z zo5fJ|OD`T}4)tR%_w9Cvtcr{?;M219)0FC7 z`ZE=aZSt9BfT z&$aR2*^Uc@Qn|L{*hpq8nhLw#7$=p7e}tiq^LwvACJI1MI)cBp%#UUuaP&QscVFrHq2t(?Qco0SZbGZLIYIS6mD zBMfONV`=r*e5Bk1bGR(f>Z6bo{7h!HgBEBDY8@Ayl+hD*@IyTlzzy_JZzyL{Q7mgL z0s!?j2{r}Ev8`oi8`ud#M(W&}01@J}8^&mPYLrkWIil#62Xbtu8Z8lMtEb`zp_(Zu zdmwzxP7Sx7jF_e*!9h;+427Ajj#M}tR!3WHO`frEK8oWB_Hb`Zh6?7$C>Jk_7Hl@! z#YxBg5a2v{9|sxMiud_Mb}Yuy7n!h*DJXjmM6m$nfph7^JSgKFIc(o@ymBG@$Z^hM zyME$wu6NO}6_8-@UG(%S=wo4(-hC08IWAcPLs(2ChhjOyB0mlNV#s=MQtd{FU>a)L z3`HDoDuRV_aNzHb6fUC#84+A((tCzzgdSp0MQT7LTMF=56 zyQ%aM$qD#4eeyH(29fbSZ0R{V{4RBQmPp#mW^9-%Gs&rhZM<>hN(|2>&98<$rqM!; zemdD7qk&Rupnz+PA{TeVkjP2`MRV^^L;*q{Q83jJCFaj?B)+Bgp!xe@7PF!H1NOTw zI3@j3OfBSdR@!AF(eEoEQe4k)^b(2PVX$?sk?t%?`x7caNlrFi;4X=V$1`US1Zm}A z`y|OLsAe}#rYEgTjnb0h;zZ+V@ESm5UxmIlH|B+QaYJVCnlCQi2+*tbQ2U1~vF;c6 z2x3RvB{GutEK87l4#rSh1FYmp%hPIjXp*|W3zkbynpQF^D^;!JmZBwH^@?$Rhg-bo zM6YN{f@o3cck~N~^=}Ihu;C9~fJ|F^UA70HT!HTQF#d=eFn~Ry#@$T?EvC0>cpF?3 ziCz{Mtr>`!AjbKin>gykeiV$xT&_1ePUNLK5=olR<|-u?ZFAs@Lu7%5*WX7zg}!tl zf9yn6Gy13`5%~%>Un|i%6=NvW4{h7*c583qw=BbMWZ2kb6dZ&_OlG7e--K6^v6e@j zGaT>ZQOfD{i-T!+Fa0$N`TC|~kKhKzB)MSbaojQyOF0fq#Ug91#M88NykvQf7dZ>C zO-#GPYqPNIal6gpzlo;up8HUBReP$FzuODwY<{r{|8^oAO71pfoH3~Rjr delta 3742 zcmZu!eNa?Y6rXbz5SH8p-Lz3>Ma2|TbC66NwQa?ZAxct)OdG$T(k#akooqCT zAzykKD_K9HVvLYioOH}~=nIo{b4*E%h|CyuFwqcAt^3}J?>zFq{hjkW_ndRj$9-F0 zrPNm`#eE_k96f6Eo_@33<`0pUg{ofcZg*IaN`6EgdyE*GH_YSl3{QC=B_+i$3UgQW zpU=4ZjR7+l)Fj-w&&wr+H+{NiXf6|pU?TXm{IV#$Wq3Z9XSbj!*II_h>rE+zTvu2E ze$nSVIQ6D6%}k-yF7WBesi|D#PJcrG?cw{FNOz~N7 z`m^N=ZSomrfV z%eC=8*p3T?Qn|MM*eGTz8VkU$Eu9{%Z#x;!X`zPWEC@Z=be%!b{I0Z$`MtY7?9ZJ{ zt_ND2ptqkdvI?V0*;YoO;8d6d+LzrT_0r3abDq++gYopbYh@f3-mGAdoRQ!J%0bw~ zjxeO#7)z_W<|CymJjrE&79WM2;Ab+k9kf7eP-{Q$q>LW0gCFX71l&M_dO;bJiegz~ z5df&GPOvFRj%^J)+rUl`GE(Q31c(r)-7r?mQ=^2E?uepW9>}qsYP3Y4wT_DKhbpF^ z?1AttJ2l*TGGdyX1P3_LGYn?1I#S^XSQ%}#HF?It*(i=5v4?wO5|lGXM!9%dv|y9b zE>1e`hXCiv`#8X`R=n3IvSTrpzRHBvOhMUCLKF*79yps$%z;wQk;C>q$IIr!QI2yK z+VvBca=nX&KMx5O-$lD`y0iQ|%0FqFkaawwKEEb`OPFNUrGC)KQj2&SRN z4N%1K`XZRm#*3oghJ{=&7xV;<jZ(=8KCr0`zL#)&Aj1to{Xd zL+r@AL`L$SWeJkcz*uUnhh;ozd0I6OO;Y!D!gA?J(+Xx~rK*+OQnaM2UNPS9aEtex z=oO7g5G^YFj=tfr{%r;VHvFM;kZEhLi}nDN%h0VW%w_f`hS$$&A$GoA6pP*6^rv zM&P|XN;$oLaUc!vp(_s}U*B}>AzaItBp1vaj+-aqHjV>Ru*g~~@icWBUa&mJi=27b zDkf#(Kw2~te+ZYD9r{OBTsRv)AH396z@XuQ4p%+lY@+ zXg#v0*hNx!lac7NBD@;LRQVQ0-M(S@Gnd?(ao26Ci3gO}aq>HMJa(HMPuyGQkV4x)s)6gp(no;uv2HUBRe#tCvPmS)E08vRP3U?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*7T0Q1&~oB#j- delta 490 zcmbR9igC^>#tCvP<`!la8vRP3U?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*7T0BN9#7ytkO diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 920bdd034c6fb1e20a0fbba9c109b752a79c523d..7e2bd5969dc274b561c24aa48421b346dff14d3f 100644 GIT binary patch delta 4019 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 AF#rGn diff --git a/lib/lists.ppu b/lib/lists.ppu index d7e3dc28fd984a4bcf301a4fed17d7048c19f7d7..7fe65f20df361c7698ee2b0af7159b05c1d46c76 100644 GIT binary patch delta 1740 zcmZux|7%-S6u;-aBrnO!_b*G=r1>7ZX=TJ@WkTInw{|O}X>8&ct+aN_vpm)$nxuA) zLePN|rD{F?qzs1QhE`PPeBq$wA~2DCRY|k!LB@jLe*FGUX8rL|#@OO^>e2oA%@O6km0I$I)gz$UPBlrjD zdo>xu2_bek0Zd;h*n!b*7%KoX)R2bqm?^FqW|5X~V-}mjY{aD{BN%RUY!sKoC_Ie6 z3FDB*gm@SZX_g86S`6ZrSb!<6oq6EmieWV(KBmR1nbZ5Z3}ie0Kx+Yyieb?O?1rTX z?^wpLXni7{(*n3@4-D>ExLoAArv2l_x2!Mw>@>Gm+RBS+YrVthFq5`u!NEz#SGp^7 z7Y@1+t;O__uTD`HVos8lvU0x5==htq%S9f^daSkHBum6xI7wEc^%r_*YB{N_)ENxn z5h)t=SgltFIDIJ7x($=hif`G)qBE~GOg?R8~MZFCh* z&l&Uuoqm?a5YhQk;qEge;Sm?fhK_Ul3tX4*fSi>tkh;mI@GBnj%t8=f^}NyJcL^ih zwWR+X3>;Q16hAu%*+|Nj!6WnpHTV_s)u%|DQX8ar`;^y+lG41$B)tP(o?PirJ%%Ga z&DEPGkLT|laMkDSiD+~8D27ZNbE#oj9 z8*|Y5<2_|f=~5<1gL9QQyp$+6k`i(HPbXy%J~f@})t$^VJ4&0LNZO#>F!SKgo9B5# zAv|N?pPMlf%X*OMwnABCWo@6pz9dG9AP95mCJ)o?R->wY?Nkbeqi;+{{GIV+Yg5%4 zgNF=1-{FpLJj#ENKlu-%x4*eA&?n_{;G{c-Lw=9^FSqgN^gZPL&yM6sm9zcQR+}oN OKL&boHYsUnRYL_}kV2EiY&kZP+jXoPA9vk{7+MbLx9XkwyK zftPqN8of$l)aXHjCML!!2Tz)KGu}O#$iX+W+XitDvor7edEd^?d~N^Irf0J!cI@0` zzX42PAG1le9A>QN;q!v?%-+kJ8DoQs`u2`Xq1BNbEkJRWuaql%^6t<5w^oPaH>k#3 z=ch{LsR{n;^N;-E>{fTryUp8%7w*n3u3Ts;+DR04*ofu;=1_!(Tsg4^nuA`erpTI# z7oZ!0OSY(+>OvF76=;t~fB~ZtC1k8qn%G21QtFp%?a(NO7-ntF_3`y&#Ui!hvTZ0# zqN-R*+wiFpgDsd=x?wvOlzq@8D|_(0a!Bi~b+lyc^*#F&i0jhBM^PB8(dRKZE#`9e z+lNP;*F!E^yR*~$vN1JNW)Q^h&e%@3AoUk21qLCHLrCapHeXV$)7;kVq0v6f=PI;s zn07tx5}h1cI&<$xD@-ag{S@#11!y zG~RcQL_+_eEx6`3pcBVECpC>wZ^kHHOVGZcsr1QGq@aR0vC?CQ|fWD z$qP&PgloYe`VoVnJM+R0>O@O5yMAl@5gB8I1SZ8PDEal2fJqr6iY{F!Bnz%{IZ!Cm z|EX(`PUAJ2DrlC|y!a6&FKY58h$prRqCpy+nat=gpJmYEl`g=hYdGC$iT4)ibi}Lp z9N{u?G(xzC^!q8z0f|<0{V&o6z@(fZ{#v^>Cb%(`O84wrIdWP_~ o)}@}L$|-q0)3`e_)}j-trZNM$d~Vbz8I&XqR-?0ad=p9i1#o`WT>t<8 diff --git a/lib/mouse.ppu b/lib/mouse.ppu index 63e20e0f1f1e963cc9feed1ab7d3461c0e16fa5b..8e2b6d498f2875794c9deb92bdd1a59b4b10ba89 100644 GIT binary patch delta 19 acmeCv=+l^RjN?f`gelkDIG>H@9E1T+;0MnD delta 19 bcmeCv=+l^RjAMo0H`9MtcCFud&OsOeUj7OB diff --git a/lib/strings.ppu b/lib/strings.ppu index 026b4877d05650940008b4f44487ee626fd4019d..9318dd386943f4dad76eea7efa8928843756f235 100644 GIT binary patch delta 1201 zcmYk5O-NKx6vywGd2hb%n=jvdk2;Q~3lVfO5uuDy5k+NiM$O7>G?NE1Z~Ve)p@r>g zqi5qrDT)?B6fIgrkhHND?ShClEm{XHqD2&)duQI%EY7|6|9=oy|^U zI=hr@V0LzxZDhY{82ef}*X7y2G}6o%o7_of)c&S#=TGlU_3u2HjB*k|2a1l|bS^(I zs;MLdv0w}1J@9~1-8t|ww1TU8=Cn(J7tc`i3w75PrbGdSq!^Vz9Bm7~WKq&?B*4 ziuJgt=+IB*_4u21gQV&BR6PM>l?x;CigB`xB!L05-0Z+q8@Z-b;mz@jBLW@wgKes;}tyGd1u%`gZ>MIv>Qjmnie zPpgN##1w3ew3Fy@LeX>^ki}2#9M?!L-xkJhj{z6)zGp)7N!Yltz#xJ)ZopM4B8Inl zFAr1`qWGS^tYEixL8GBtg~aecOKEyVpzC7zPBUN=JH4|!T+NQ-zBk1q^1MFBAdW{~ z1GX{ao8qx5l|b|vu!p~WQ|<(*U@)5OjNgELJo3-FYlTMHwb&j=@j8*WaBWSTrvoY6 z3~KaH?gUr1(t-;s6us0gqqvwiCrYIS(PWS88?d`H@iON49~&_@1g2ZqE@2JQ%|%fw zyA3R_7nWA3vlg{SRK29cbN6hOu|BhOoyxGF1A;`!5cX1ZmzlAJ4QjfDJgoZog-;pD z$-zV|<}oo1(k4i;Qc<5-oG(x#Vv^dTXYq`%Mu~+e`mBnIYXzf7rN=G17sRC`7p2I{ zT;3cil3T)pUR9yEfQ;f=-pt9y(tIrF4M7dksV+&2HfNek|FBvMdy60R;TqAW?_xle z-wy>lLS6iiki>-OA5sck=@CtJ&YQ(mbBP{jT9v~~i|=7kwD(vpKRz@zn42|<1{K@{ LmFYUr8*cs!dR5(G delta 1571 zcmY+Ee`s4(6vyw$doOv(dr6k0`PCmulO{?#9ZPE~icZ$9xU5-?ed)@!x|(gFJ{I%p zlG!Or1@R9-!FUGZ{+T!j`o|a!hd2-lBH~{%bRY_9|IxqHKLk;x#dGg_FPo*Dd)_&p z_r2%bdtNTyb#*LPtuB@(CgqobNo=#4XMs3l@6Z1^x&6)cD|a)-R=c^9@}v6mk;l7B z`$9_7YNw~(v|#V;1fKGna13wy z7xl1!&F32ok~kGG;VIhgkj96?E+U1Xnb5&g+R^)CjxuePPAc?3ov?4k%GegIREt!k z)sycd%d4Uy()ceayo9Uzik6_Tt=o?`^sJT?&u5M^=*L^S39n!yxTK|f)Bt`FG~qm! zLQDPuih{{t5W680F5s=u%ESlkn*cei1Ol=g0n@8AKGpa}^Lf1?lk3)@sdKTwCLUF}oLFACsPq`3UY| z6>FVieJ=JXVZ%brPgb|pW}i7zZ?@S6#9iz&!ua7roR4?F#%8Rw=NKeh=1XG4Ma4tJ z_-$ssu}&lBB471ncHEXR#8{?W<|Z-2l!f?4loqF?8LM@oPWPI2vF{1X3ygjUS;(!Z z)v24UHqDvKZ4s9hT#Bq_b2Y2nBC!D%`lSc;bI5FUYL?N#YmxBWuap`V?+=pIk6Tug z=lG%1-M9jO5M`ea-^)3lnpLUL6}!ye_<7_&l%L-vXWqzVA1IiMPHI;v^brr!PeeU> ia*(&?J7KljR+GNjkvp$_1h=BGKoNupukhLP0m&^RRS%>9 diff --git a/lib/tracer.ppu b/lib/tracer.ppu index e026c32ba5861e422004b45946a1ecf056ffaa17..325f2b22f660592ab7987883879f681c3d68880a 100644 GIT binary patch delta 21 dcmX>mdrWr2S}u+!1rerPbK`tAZ{-qX0RUmT2k!s? delta 21 dcmX>mdrWr2S}u+ie&0<0UD>sM^HwfF765Ys3K;+Z diff --git a/src/include/asuro.pas b/src/include/asuro.pas index 8c3172d4..c73b6e18 100644 --- a/src/include/asuro.pas +++ b/src/include/asuro.pas @@ -3,20 +3,20 @@ unit asuro; interface const - VERSION = '1.0.1-663ia'; + VERSION = '1.0.1-664ia'; VERSION_MAJOR = '1'; VERSION_MINOR = '0'; VERSION_SUB = '1'; - REVISION = '663'; + REVISION = '664'; RELEASE = 'ia'; - LINE_COUNT = 26954; + LINE_COUNT = 26991; FILE_COUNT = 83; DRIVER_COUNT = 28; FPC_VERSION = '2.6.4'; NASM_VERSION = '2.10.09'; MAKE_VERSION = '3.81'; COMPILE_DATE = '05/05/18'; - COMPILE_TIME = '22:04:28'; + COMPILE_TIME = '22:33:57'; implementation diff --git a/src/include/lists.pas b/src/include/lists.pas index 035b3901..ab02e994 100644 --- a/src/include/lists.pas +++ b/src/include/lists.pas @@ -5,7 +5,8 @@ interface uses console, lmemorymanager, - util; + util, + strings; type { Managed Linked List } @@ -33,6 +34,7 @@ function LL_Size(LinkedList : PLinkedListBase) : uint32; function LL_Insert(LinkedList : PLinkedListBase; idx : uint32) : Void; function LL_Get(LinkedList : PLinkedListBase; idx : uint32) : Void; procedure LL_Free(LinkedList : PLinkedListBase); +function LL_FromString(str : pchar; delimter : char) : PLinkedListBase; procedure LL_TEST(); implementation @@ -192,6 +194,39 @@ begin kfree(void(LinkedList)); end; +{function LL_FromString(str : pchar; delimter : char) : PLinkedListBase; //todo implment function for freeing pointer lists +var + list : PLinkedListBase; + i : uint32 = 0; + out_str : pchar; + elm : puint32; + head : pchar; + base : pchar; + size : uint32; + null_delim : boolean; + +begin + list := LL_New(sizeof(uint32)); + stringToLL:= list; + + head:= str; + base:= head; + null_delim:= false; + while not null_delim do begin + i:=0; + while (head[i] <> 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; @@ -238,4 +273,39 @@ begin LL_Free(LList); end; +function LL_FromString(str : pchar; delimter : char) : PLinkedListBase; //todo implment function for freeing pointer lists +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)); + LL_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 diff --git a/src/include/strings.pas b/src/include/strings.pas index 322593d6..4123523d 100644 --- a/src/include/strings.pas +++ b/src/include/strings.pas @@ -13,8 +13,7 @@ interface uses util, - lmemorymanager, - lists; + lmemorymanager; function stringToUpper(str : pchar) : pchar; function stringToLower(str : pchar) : pchar; @@ -27,7 +26,6 @@ function stringContains(str : pchar; sub : pchar) : boolean; function stringToInt(str : pchar) : uint32; function intToString(i : uint32) : pchar; function boolToString(b : boolean; ext : boolean) : pchar; -function stringToLL(str : pchar; delimter : char) : PLinkedListBase; implementation @@ -178,40 +176,4 @@ begin end; end; -function stringToLL(str : pchar; delimter : char) : PLinkedListBase; //todo implment function for freeing pointer lists -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)); - stringToLL:= 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 else begin - end; - inc(head); - end; -end; - end. \ No newline at end of file diff --git a/src/kernel.pas b/src/kernel.pas index ee3f608b..ad81f92b 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -92,6 +92,7 @@ var atmp : puint32; test : puint8; fb : puint16; + l : PLinkedListBase; begin { Store Multiboot info } @@ -211,6 +212,10 @@ begin tracer.push_trace('kmain.END'); + l:= LL_FromString('/./hhhhhhh/', '/'); + writestringln(pchar(puint32(LL_Get(l, 0)^))); + writestringln(pchar(puint32(LL_Get(l, 1)^))); + while true do begin console.redrawWindows; end;