> I agree that is the right thing. But it is equivalent to: > if (!s) return; > since we'll have just assigned "s". Which one to choose is purely a > matter of style. Using "*s_" perhaps makes it more clear that we are > sanity-checking the input (and could happen even before we assign "s"). > Using "s" is consistent with the rest of the function in working with > the more direct pointer value. I am happy with either.
I know, I used the original one (**s_) for the explanation. No the check cannot happen before we assign (that's what I did initially) because tests will fail given C90 requires declarations to be at the top of the block.