Jyri Virkki wrote: > Another ARC gone wild thread? Can we keep the lessons of the past > months in mind? > > I read the materials and there are no exported interface changes, no > imported interface changes and not even any documentation changes. > > Only an implementation change to something formally defined as > undefined, so while your code reviewers should have something to say > if the implementation chooses to, say, reboot the system, code reviews > are not in scope for ARC. > > So there's actually nothing for ARC to review here.. why file this case? > My vote is you close it approved automatic and go fix the bug already. > > >
I think someone else commented on the potential for changes in debuggability and performance. ARC review is not inappropriate. > > > > Everything below is just me adding to the noise, so ignore for "this > case" purposes. > > James Carlson wrote: > >> An application that's incautious with NULL can't possibly just make >> that mistake with printf alone, can it? >> > > They're not being incautious with NULLs, they (C developers) do it > because printf is known and documented to handle it. > > Oh, not on OpenSolaris? Too bad for us, nobody cares. A great way to > make people avoid adopting OpenSolaris is to make sure the apps they > run succesfully everywhere else crash only on OpenSolaris. > > GNU printf is documented to print '(null)', so no big surprise > developers rely on documented behavior. > > "If you accidentally pass a null pointer as the argument for a `%s' > conversion, the GNU library prints it as `(null)'. We think this is > more useful than crashing." > > http://www.gnu.org/software/libtool/manual/libc/Other-Output-Conversions.html > > (The text goes on to say "But it's not good practice to pass a null > argument intentionally" but in true human/developer nature, people > don't pay attention that that. Once the behavior has been promised and > implemented, people will use it.) > So if this is the case, then lets just follow suit. But lets do so explicitly, with similar language in our printf() documentation, rather than just silently doing something. I'd assume for "familiarity" that the same "(null)" string should be used, as well. Admittedly, I'm not thrilled with this (I want my cycles back!) but I'm OK with it, particularly if we just go ahead and document it as an acceptable practice. (In particular, I'm thinking about all the cases of (x ? x : "null") that are in debug statements around. If you're going to make me burn the cycles to make the test in libc, at least let me reclaim them in my other code. :-) -- Garrett -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20080625/6bd3e309/attachment.html>
