PS, in general I don't recommend doing the cross file reference to osErrorCode and have the linker do the right thing, because.
(a) some platforms make better memory references if globals are static. (b) some platforms use the global VM Foo memory structure so you can't refer to osErrorCode directly it's foo->osErrorCode
So by having getOsErrorCode() hides where the value really comes from.
However technically if one was wanting to ensure there is no external references to interp.c you would alter sqVirtualMachine.h and add a set/get api for the Error code then use interpreterProxy-> to access the data. However that's a bit more work than required for a one-off solution.
On 2009-11-25, at 9:01 PM, Rob Rothwell wrote:
Then, of course, all I want to do is something like:
int ioExit(void) { inCleanExit = 1; exit(osErrorCode); /* avoid the warnings here */ return 0;
in sqWin32Window.c...
-- =========================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================