1. message_box bug?
- Posted by Terry Constant <constant at FLASH.NET> Jun 11, 1998
- 591 views
The last for lines of the message_box function in msgbox.e are: return c_func(msgbox_id, {NULL, text_ptr, title_ptr, or_style}) free(text_ptr) free(title_ptr) end function Since the function returns the return value of c_func(), are the two free() statements after the return ever reached. That is, everytime we call message_box, aren't we losing memory? -- Terry Constant constant at flash.net
2. Re: message_box bug?
- Posted by Robert Craig <rds at EMAIL.MSN.COM> Jun 11, 1998
- 573 views
Terry Constant writes: > The last for lines of the message_box function in msgbox.e are: > return c_func(msgbox_id, {NULL, text_ptr, title_ptr, or_style}) > free(text_ptr) > free(title_ptr) > end function > Since the function returns the return value of c_func(), are the two > free() statements after the return ever reached. That is, everytime > we call message_box, aren't we losing memory? Yes, you are right. This creates a small storage leak. Thanks! In the next release I'll change the code to: ret = c_func(msgbox_id, {NULL, text_ptr, title_ptr, or_style}) free(text_ptr) free(title_ptr) return ret where ret will be declared as a private variable: atom ret inside message_box() Fortunately, very few programs are going to pop up thousands of message boxes during one run. Regards, Rob Craig Rapid Deployment Software