On Thu, Jan 24, 2002 at 03:35:03PM -0800, Justin Erenkrantz wrote: >... > > The warnings/errors discovered will tell us a bundle... It will tell us > > where we're mixing them inappropriately, and where we're making assumptions > > about certain sizes. > > Lots of places are casting to check for -1. We'll have to see how to > handle all of those cases. It'd be goodness if we could have a > defined way to check for unknown bucket lengths without the casting > to "add" a sign. Thoughts?
Define a specific constant for "unknown size". We shouldn't expose the fact that -1 is used to represent unknown. e.g. APR_BUCKET_LEN_UNKNOWN Note: I believe there are also assumptions that a given read() will return the same amount as bkt->len. That is incorrect. It is very reasonable to have a socket, to know that it represents 10k of data, but only return 1k on a read(). For example: during a PUT request to apache. The content may be 10k, but only 1k is available right now. So... bkt->len is "the size of my data, or 'unknown'". And a read() can *always* return a subset of that data. Or if unknown, then the read() will return /something/. Note that bkt->len being an apr_off_t, then the read() will by *definition* need to return a subset in some cases. It all fits together... :-) > I expect this to take a bit to straighten out. I'm going to try to > clear out my current patch queue first (mod_auth_db, ap_getline, > etc.) and then turn my focus onto the bucket sizes. -- justin No complaints there :-) Cheers, -g -- Greg Stein, http://www.lyra.org/
