If there is anyone who can even read this function after all the hack
required ot make it compile, could they please tell me how it can recurse
infinitely:
extern void OTVar::AppendJournal(const string &message) const {
(*(vector<string>*)&journal).push_back(message);
string &elem = *(*(vector<string>*)&journal).rbegin();
elem += " ( ";
if (GetStatusByte()) {
if (handleValid)
elem += "handleValid ";
if (strValid)
elem += "strValid ";
if (doubleValid)
elem += "doubleValid ";
if (intValid)
elem += "intValid ";
}
elem += ")\n";
}
To the best of my knowledge, it can not. However, it would appear that a
certain <censored> known as MrCpp begs to differ. And I sure as <censored>
don't like it.
It would not be that bad if the MacOS -- like every other operating system
-- actually prevented stack overflows from taking it down. Instead, upon
hitting a stack overflow, it actively encourages it. It induces a
<censored> restart. How? It manager to call the resource manager and the
mememory manager on a <censored> up heap.
And, quite frankly, I'm sick of it. I'm sick of restarting every few
minutes. I'm sick hitting the reset keys. And I'm sick of <censored>
compiler bugs. I'm sick of pulling out my 68K manuals to look up
supervisor-level legacy code. I'm tired of staring at the MacOS's corrupted
guts. If I should ever see another"RTE, another vCheckLoader�, another
LowLevelExceptionHandler, I think I'm going to go crazy.
Anyway, I'm going to try a few more things to get around the compiler
problems. Maybe I'll then look into putting a <censored>
supervisor-write-only page at the end of the stack, as Apple should of done
long, long, long ago. Or maybe I should just port egcs -- at one time,
Cygnus had done a port, but it's been unsupported since who knows when.
Anyway, failing all of that, I think I'll write it on Linux and let Uli
port it to the Mac. Even if it takes me a few tries to get a modern STLport
installed.