[Uni-verse] possible maxbug

Martin martin.schlingmann at tii.se
Fri Mar 24 19:43:57 CET 2006


Jepp that should do it...

/martin

> -----Original Message-----
> From: eskil at obsession.se [mailto:eskil at obsession.se]
> Sent: den 24 mars 2006 19:29
> To: Martin
> Cc: 'consortium mailing list'
> Subject: RE: [Uni-verse] possible maxbug
> 
> Emil are you listening?
> 
> > Nope, it crashes here, but it is small dirty things in the code.
> > For example you get a run-time failure check (You use the variable
> 'drag'
> > without initializing it in some file at line 121...) and if you have a
> > debugger installed it will break the app.
> > This will halt/ throw (asm...3) an exception.
> 
> Patch for this:
> 
> 
> 
> the lines aroud 83 in v_cmd_def_o.c:
> 
> 	"\t\tif((mask & pow) != 0)\n"
> 	"\t\t\tbuffer_pos += vnp_raw_unpack_real32(&buf[buffer_pos],
> &drag);\n"
> 	"\t\tif(func_o_transform_pos_real32 != NULL)\n"
> 
> should be:
> 
> 	"\t\tif((mask & pow) != 0)\n"
> 	"\t\t\tbuffer_pos += vnp_raw_unpack_real32(&buf[buffer_pos],
> &drag);\n"
> 	"\t\telse\n"
> 	"\t\t\tdrag = 0.0;\n"
> 	"\t\tif(func_o_transform_pos_real32 != NULL)\n"
> 
> the lines aroud 229 in the same file:
> 
> 	"\t\tif((mask & pow) != 0)\n"
> 	"\t\t\tbuffer_pos += vnp_raw_unpack_real64(&buf[buffer_pos],
> &drag);\n"
> 	"\t\tif(func_o_transform_pos_real64 != NULL)\n"
> 
> 
> should be:
> 
> 
> 	"\t\tif((mask & pow) != 0)\n"
> 	"\t\t\tbuffer_pos += vnp_raw_unpack_real64(&buf[buffer_pos],
> &drag);\n"
> 	"\t\telse\n"
> 	"\t\t\tdrag = 0.0;\n"
> 	"\t\tif(func_o_transform_pos_real64 != NULL)\n"
> 
> then regenerate all commands or patch in v_gen_pack_o_node.c:
> 
> 		if((mask & pow) != 0)
> 			buffer_pos +=
vnp_raw_unpack_real32(&buf[buffer_pos],
> &drag);
> 		if(func_o_transform_pos_real32 != NULL)
> 
> to:
> 
> 		if((mask & pow) != 0)
> 			buffer_pos +=
vnp_raw_unpack_real32(&buf[buffer_pos],
> &drag);
> 		else
> 			drag = 0.0;
> 		if(func_o_transform_pos_real32 != NULL)
> 
> and:
> 
> 		if((mask & pow) != 0)
> 			buffer_pos +=
vnp_raw_unpack_real64(&buf[buffer_pos],
> &drag);
> 		if(func_o_transform_pos_real64 != NULL)
> 
> to:
> 
> 		if((mask & pow) != 0)
> 			buffer_pos +=
vnp_raw_unpack_real64(&buf[buffer_pos],
> &drag);
> 		else
> 			drag = 0.0;
> 		if(func_o_transform_pos_real64 != NULL)
> 
> cheers
> 
> E





More information about the Uni-verse mailing list