Using --disable-debug at configure time causes _SFCB_TRACE statements to compile to an empty macro. However, the variables that may be used in those trace statements (such as object paths) are still being created in previous lines. This is completely unnecessary.
This patch provides a new macro, _SFCB_TRACE_VAR, used to wrap variable that are to be used only by trace statements. This bug would be filed under "Code Cleanup" except that there are some performance benefits, particularly during indication delivery. Whilst sending 10,000 indications, the instruction count for interopProvider:invokeMethod dropped from 524 million to 288 million, a savings of about 10% for the entirety of the delivery of the indication (most of which is handled in indCIMXMLHandler).