|
|
POV 3.5 b7 NT 4 Sp6 PII 233 128 MB
following code causes crash with both compile of b7
#local S="H1676688"
#macro M(V)
#local S=chr(mod(V,123))
#local F=div(V,123);
#if(F>0)
#local S=concat(S,M(F));
#end
S
#end
#macro P(S)
#local V=asc(substr(S,1,1))-asc("A");
#local T=val(substr(S,2,V));
#local S=substr(S,V+2,strlen(S)-(V+3))
#local O=M(T);
#if(strlen(S)>0)
#local O=concat(O,P(S));
#end
O
#end
#warning P(S)
ABX
Post a reply to this message
|
|
|
|
Skiba <abx### [at] babilonorg> wrote:
> following code causes crash with both compile of b7
This bug is clearly:
Macro bug (job000146)
(POV can dereference a deallocated pointer if you return a local from a
macro.)
http://news.povray.org/3BB4ED11.8EC69CEC@hotmail.com
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
|
|
|
On Wed, 07 Nov 2001 21:50:48 +0100, "Thorsten Froehlich" <tho### [at] trfde>
wrote:
> In article <e3piut8anmf4cli4pnfmstadgc3nleqvb2@4ax.com> , Wlodzimierz ABX
> Skiba <abx### [at] babilonorg> wrote:
>
>> following code causes crash with both compile of b7
>
> This bug is clearly:
>
> Macro bug (job000146)
> (POV can dereference a deallocated pointer if you return a local from a
> macro.)
Probably you are right but I want add my next note. When I connect first and
last line of script to: #warning P("H1676688") then everything works fine. The
change has nothing to #local return from macro IMO.
ABX
--
#declare _=function(a,b,x){((a^2)+(b^2))^.5-x}#default {pigment{color rgb 1}}
union{plane{y,-3}plane{-x,-3}finish{reflection 1 ambient 0}}isosurface{ //ABX
function{_(x-2,y,1)|_((x+y)*.7,z,.1)|_((x+y+2)*.7,z,.1)|_(x/2+y*.8+1.5,z,.1)}
contained_by{box{<0,-3,-.1>,<3,0,.1>}}translate z*15finish{ambient 1}}//POV35
Post a reply to this message
|
|
|
|
Skiba <abx### [at] babilonorg> wrote:
> Probably you are right but I want add my next note. When I connect first and
> last line of script to: #warning P("H1676688") then everything works fine. The
> change has nothing to #local return from macro IMO.
The bug has to do with an invalid pointer. Random crashes are the obvious
result, so yes, it is possible that it may work *sometimes*.
Thorsten
Post a reply to this message
|
|