bby@palladium.UUCP (Bob Mastors) (06/09/89)
If you have wrapper routines around malloc/realloc/free, like I do, and like to pass in __LINE__ and __FILE__ to see what part of the program is messing up, then you may have been wondering how to pass __LINE__ and __FILE__ to your wrapper routines when new and delete is called. A solution is to put the following in an include file and change all of your "new" references to "tnew": extern int curline; extern char *curfile; #define tnew (!((curline = __LINE__), (curfile = __FILE__))) ? 0 : new If you have a cpp that is trying to conform to the ANSI C draft then you can call it new instead of tnew and you won't get recursion on the macro. You will need your own version of _new that passes curfile and curline to your wrapper routine that calls malloc. And of course you will want to duplicate all this for the delete operator. --- Bob Mastors Epoch Systems, Marlboro MA (508) 481-3717 {linus!alliant, harvard!cfisun}!palladium!bby -- --- Bob Mastors Epoch Systems, Marlboro MA (508) 481-3717 {linus!alliant, harvard!cfisun}!palladium!bby