bob wrote:My ORIGINAL post pointed out that something that worked on Mountain Lion now fails on Mavericks. (...) I also pointed out that it has worked on EVERY operating system, EVERY compiler, since the early days of Crafty. And that suddenly, on Mavericks, it fails.
Right, and everyone ignores that for good reason. Several people have shown that your code makes assumptions about how strcpy() is implemented. That you haven't encountered library problems for 40 years is simply not relevant.
bob wrote:I see absolutely nothing wrong with my code.
I know you don't. You are wrong, your code was flawed.
bob wrote:I see no valid reason to break working code, particularly when there is no reason to do so
You keep asserting that there was no valid reason. That doesn't make it so.
bob wrote:, and particularly when the change doesn't explain the problem, just says "Abort".
I agree the message wasn't very helpful, and should have included more to simplify your detection of the problem.
bob wrote:Does it make sense to do what Apple did? Absolutely not. If you don't agree, that's fine.
How can I agree or disagree? I have no evidence, just your insistence that there was no valid reason.
I should add that it doesn't matter if there was a valid reason. The code was still flawed regardless. If it turns out that there was no valid reason, then the lib guys were jerks, yes. But it doesn't absolve your code's dependence on undefined behavior.