From 650813c666d5ff9109f2f5b3fe0c0ca95a4c7276 Mon Sep 17 00:00:00 2001 From: paladin-t Date: Tue, 26 Jan 2016 19:38:05 +0800 Subject: [PATCH] *fixed a wrong hash bug with string object. --- HISTORY | 1 + core/my_basic.c | 3 ++- output/my_basic.exe | Bin 357888 -> 357888 bytes 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/HISTORY b/HISTORY index 74bbe77..86c57da 100755 --- a/HISTORY +++ b/HISTORY @@ -4,6 +4,7 @@ Added a SET_IMPORTING_DIRS statement to the shell Added friendly error promption when memory overflow Added source file information to stepped handler Fixed a wrong argument processing bug with variable arguments +Fixed a wrong hash bug with string object Fixed a memory corruption bug with importing directory setting Optimized cached list accessing diff --git a/core/my_basic.c b/core/my_basic.c index 157af20..fcf6c64 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -2247,7 +2247,8 @@ unsigned int _ht_hash_object(void* ht, void* d) { h = o->type; switch(o->type) { case _DT_STRING: - result = 5 * h + _ht_hash_string(ht, o->data.string); + h = 5 * h + _ht_hash_string(ht, o->data.string); + result = h % self->array_size; break; #ifdef MB_ENABLE_CLASS diff --git a/output/my_basic.exe b/output/my_basic.exe index 71a430df21f0640c62e2e91667f3ea489523d434..16e10d34e8bfd55a9649612ae5ad398b17596a01 100755 GIT binary patch delta 2164 zcma)73s6+o8NUDJB3D@4U0hzifRq+NNl|o?3GCg?vS8MC)c6X|F(_^_rPf^xu_^-F zbaO@4{)*39Njus!wLXqv7cjcwVFdo9lL9v{lHAl$qc?0VGj#zDynbV%| zHyC~u_I`s6nA3Sro+Zj1**&sNGtl24w1m<1K)>7}&rB^WDbDUv_J07Je7ERySLlax zqBcT2UXF_A)hqZ()QTUx{X34M$z$XWJ7?!qM{2Tmk-uRXYSXQ$3lujxG?_2~ z-_%GDfwwgV{)-+Q&}6_ld?Gp@YOo@D9F&pQqy0Sp&--Z8Szse>(k&LQ52z}d>c$hD z{$1d?BN`eJzcv@CvD}goSs_iR%)VoJjwJ*ZXDZ(-Q z%ZnE9h$#{nz<9q)#{0-y0d=nWA{a_&XXQ&uBZkNj$T==E!-b^ zdfE9vE*fm}{I+o=Kqm3njUxP*T>9CU{G`LQs&3sN=Zm9#+gR7ueX(Y4xqBEDnvX@b z){Zvja_0}adVC)I!r2cu$VXLvkry|S{TnXwkcf`j43O|QwVUbrc(M*ejnSp5@|*Nl^Y)w6Z1 z`bubty>bfbwq?Qwl(wCEVjsmBqQKR8g01IM0$NKcSjr6Jp}iDSnwIh6tK=6=E{NP% zH6)Pp7`r16>T$`AMp%F!@7Osa(y6MdQ~a_icrF#jLmL;&xWh>H;CaGB|m*;OcZ}lzP(nmRAG0WMj)- zLsAF>dsJ6Xdk7uF;bRxA^+v0QNEeRqe6*GHUn~RtCsIhNddAdMIwb>_buWTiZ0}Ce zAEhxm8}bL`85&CBJkr51|5PvRzD?>ko_$!yc z`Ij`S)r04+PaMu#xR;1j1`n^N$FrTwAJU7~`XE$6w;nX!nDo8Ov_x^J^?%FF#E))V zdzz_Yxw|@elAXQpBV^d}ea!#ZFqZ#l7>hAj9?bk}di?*JnU*-~e{{_xh7S=8ceALD zr|zH>P}Q_$MOrwehqT{Z0b_SfqD)6K3T4|YWz%E3=au!ubV~v-;riYU^yM7voeFL; z<@N$F2owLKUq9J%XO$I9+ef594V>8Cmpedkl6ZK*tIUP;4CwR5tcB_bNbzo}1sxBi-e1>4N;rJxJ?RFw08_lS&G3ep zP`x&&%F_hdECkE~6G1CSwV=d!`SV}g7|E=*09XT&HM zyd8Vs&Z=ihmL6EhO6i-MGgEVndkz38pcoWK*hlTWR>q Gv0noULt!HT delta 2140 zcma)74Nw&48QynU!U_j>r^k;N1ryp60|q5FHplH<;Ev>~Qv7MD4L>@J2$wVzdte#= zPVw5F8wKZ$ppi6^wmPvfqMx#d7(KxjX;fm2sIiUcq@C>$Q*CTO2XFg*7ivt~>2zn_ z-S2yUpMB=}cDAv?G^dQ+b#UY}y; z@W(L|6SfE)5#92@#Znhrr2yF6qItmoJME{zJSMv*PitUvnHydsOar zb8b%aq^0VMf?F1+rMjU|pYBLotnS23x=gU(A)N$?cw1-U`3o2oI~@jaR;&}6@Taj; zpoX->26;Ym7?&7wVH>s@ejupBnufN9X(ZM7F7UUe;I;8n=bWEn=Pr-gHTq<>=OJS; z<~#Fm7fze-HYAaY6MmlvZP@z63ivh=GE^gQDxQ|rxyoP#8F1Y-#_T_&X+u$NPQ63$qZe|a9VZvBV{crXK3+MfX$_}@veJ?s zHzyCM!-w!vakcF)?V9Eb>U~)}<$94IpIfLt{$*x%u&nfjk{-F%AfKZV_1IYEBVT3S zZAV|pbEc(Zk$v!>$Lly);)OG~tkeWiSXVkP!F}M%L5De-lt%~2hK1^H@N(&D!3JkGAnOXrg9TyNg@=rGRL7kGc7ojcB4 zo!&${r+3^6uxF94?}QiID(k_Eld6{M=j{ooL@{49?=xZCTJtwrwlqVHe)OQRBMRw7S5+s(Zpq9F(V`VS6T2qqP0xV@(uim;ztl zakgGW3Fs`OU@0?a_Ca(_-IzcE7{4PAJh)^>BRKG{J9ft1^Jtn@ zE6N2X`I34Qn|6j`7zw?0k@dmS<^(+O+D1y}tX(hbGiWjulUzG0&lf4t2X@U!?WaDu zR_x7xloH6vb4}{I)H7tDE9zF;$^Bgh;hPL(nB9i8A{Su0FkHqhgY9>UVQ#Z`zY0h2 z^zQm`ld2g5qFPSA(^dzRos(}q70C}*k>R~lV3N5?(|V)WK>C4LC8%bqiiT67+^@!B z)>{n;{z_V%FZ8kuPA(99eIA|aA$@NtI>;a!I(}(N31eWd>ieK8jE><5u$$g-rPE8K z_YU&>{XBB}>@qNZB!#7FWK0dvDalygUj!?$t3So~CXLbA;2f3b>L`i1WT^iom~b(N zm3R^=4MsaXc=CH{Il9mP5Gu*<&L4yL-#$YTj`%daZw-S;D+kmT(tP2LATcx*{%1pa zBlI%0b8W}6bGb!b44XUI|NOErf4*QRLqCT2t}od33!2sG#nYEF#<3RuB_fr<{mbcz zZ08Gx^`du-ge&OQi`FYMzm{p9D2}!MZ@HQH$(2iUm?|p#^`R5&?0p>}!{!Vy|3kxA z{)1sG#$b6d^J;qH|C?!^IRAfi%_OEjBA6~_Q610TK`EfBIhqxn%crX3S^5&V8 z=~zag?3%Bxd1$vleVN#x;p3=ZXL5cb&A}sByrPEpcY> z!aFUEX0XGLl=sc>4HG=Ad|`pCSjbn*F1W@+g%ULnf;=2iP8UE54^Blbg!JifRT;k; z>Z8D@ys{AtJQOOgZ-S|j@Ue2j4}JmC6xUYREGAX04r%gpf@~Lh?E(`)Cr7oQ^2$&% ze8EGEa$_g_flo;NNr;_D`jbqOFUZAdsq)xLKeO5}p+?<`7XEM)u z^lZm*|BC78+C=RzjU9dvYxy{iPo}^2mV0shI-_>;+@%w*q&oIZ2*iGC!K?d(pZoPZ zwFqj0;@3y^7CQGm9c?jM=2$$IO_o7RN6tTT?&XZLCRsDBv#g7)ORSt^kRFq!NiL~C hDwB>&XQf-x9ce@wl{lMV6Ky)1!DdpnFO7UL{-3GyS6Bc5