On Thu, Oct 04, 2001 at 07:13:16PM -0700, Aaron Bannert wrote: > Huh? That's a bit of a stretch. If this is going to turn into a style > war, let it be spoken from the Apache Style Guide: > > "Opening braces are given on the same lines as statements, or on the > following line at the start of a function definition."
I'd like to point out the other bazillion places where this happens. I don't care. I'm just pointing out that if you want to change the style, change style without changing anything else. That seems to be the operative rule that most people work under. Furthermore, I won't commit any patches that change the braces, so there! =) When you finally get commit access or find someone who agrees to enforce this point (I'm sure Ryan will do so), I don't care. It isn't a big enough of a deal. *I DON'T CARE* =) Whatever... [ Please realize that I'm writing this laughing... ] > > As an aside, I'd rather not see any style changes be in the same > > commit/patch as something that changes bytecode - unless enough > > of the function is changed to warrant the rewrite. I've been > > told many times not to change style in a patch - and for the most > > part, I try not to do that anymore. I'd just like to reinforce > > that behavior in others. =) > > My patch changes no visible functionality. Part of the patch simply added > comments, almost *ALL* of it was to improve robustness and readability. > Minor style changes definately fit into this. I thought the comments were good. I just didn't like the style changes. > > No, I think that if you are not familiar that the C construct > > (ctx->remaining) is equivalent to (ctx->remaining != 0) than I > > don't really have any sympathy for you. IMHO, we're not here to > > teach people C. =) > > Bzzzt, wrong! Those are not semantically equivalent statments. The ! > operator treats the operand as a boolean, the == operator treats the > operands as the same type. Let me do some english translations: > > if (!ctx->remaining) { > > "If ctx->remaining is not true..." > > > if (ctx->remaining <= 0) { > > "If ctx->remaining is less than or equal to zero..." > > There is a huge semantic difference there, and it plays directly into the > readability of the code. Yoohoo, look again - that's not what I said. =) I'm not disagreeing that <= 0 is different (of course it is). I'm saying that != 0 is identical to not having the explicit comparison (and I bet there is someone out there that will prove me wrong). Also, there is no boolean type in C. =) You *are* thinking of Java - I knew it... I'm also saying that given the context < 0 is invalid and we should fix it (as described below). > > So, I think we should fix that problem (so that we can't read > > past the end of the body) - not hide it by checking for negative > > values. So, I think we should check ctx->remaining < readbytes > > before we call ap_get_brigade in ap_http_filter. If ctx->remaining > > is less than readbytes, only read in ctx->remaining. How does > > that sound? -- justin > > That would also be satisfactory. As long as we aren't making implicit > assumptions on our input. Right. I think this is the way to go. It makes sense and enforces ctx->remaining to never be < 0 no matter what higher-level filters request. =) At least we can agree on something. =) Mark this date down in history. -- justin