Hi Junio, On Wed, 29 Jun 2016, Junio C Hamano wrote: > Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > > > It is technically allowed, as per C89, for functions' return type to > > be complete structs (i.e. *not* just pointers to structs), but it is > > bad practice. > > Not necessarily. Okay, I fixed it. > > This is a very late attempt to contain the damage done by this developer > > in 6d297f8 (Status update on merge-recursive in C, 2006-07-08) which > > introduced such a return type. > > > > It will also help the current effort to libify merge-recursive.c, as > > it will allow us to return proper error codes later. > > But this part of the motivation does make sense. Having to pass an > extra int &error_code field, only because the return value is > already used for something else, is a lot more weird. While I still think it is inelegant to return a whole struct (understanding the machine code aspects of it), I toned it down to say that we just do not use that construct in Git's source code. And I kept the paragraph that you found more convincing, of course. Ciao, Dscho P.S.: If it is not too much of a problem, may I ask you to simply delete remainders of my patches when replying and not commenting on them? I just deleted 226 lines after verifying that you really did not respond to any part of it in the unhelpful Alpine client (which I still use because it *still* fits much better with my workflow than anything else, by a lot). Again, not a big deal if it would make your life more painful. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html