svn commit: r251855 - head/sys/sys
Bruce Evans
brde at optusnet.com.au
Tue Jun 18 00:24:20 UTC 2013
On Mon, 17 Jun 2013, David Chisnall wrote:
> Log:
> Rename a parameter in sys/time.h so that you don't get warnings for things
> like libdialog that include both this header and math.h.
All the bintime stuff has similar namespace errors, starting with the
field names 'sec' and 'frac' not having a prefix, despite the good example
set by struct tm and good style requiring a prefix. 'sec' and 'frac' are
paticularly bad field names since they are close to both English words
and to good names for application variables.
> Modified: head/sys/sys/time.h
> ==============================================================================
> --- head/sys/sys/time.h Mon Jun 17 15:16:14 2013 (r251854)
> +++ head/sys/sys/time.h Mon Jun 17 15:30:47 2013 (r251855)
> @@ -103,17 +103,17 @@ bintime_mul(struct bintime *bt, u_int x)
> }
>
> static __inline void
> -bintime_shift(struct bintime *bt, int exp)
> +bintime_shift(struct bintime *__bt, int __exp)
The new names have excessive underscores and are thus now just style
bugs. Single underscores are ugly enough.
'exp' us only reserved by system headers when <math.h> is included, and
even then it is not normally a problem since it is not a macro.
But bt is in the application namespace.
#define bt bintime variables should be named _bt in inline functions
#include <sys/time.h>
This is now fixed, but only for this function.
> {
>
> - if (exp > 0) {
> - bt->sec <<= exp;
> - bt->sec |= bt->frac >> (64 - exp);
> - bt->frac <<= exp;
> - } else if (exp < 0) {
> - bt->frac >>= -exp;
> - bt->frac |= (uint64_t)bt->sec << (64 + exp);
> - bt->sec >>= -exp;
> + if (__exp > 0) {
> + __bt->sec <<= __exp;
> + __bt->sec |= __bt->frac >> (64 - __exp);
> + __bt->frac <<= __exp;
> + } else if (__exp < 0) {
> + __bt->frac >>= -__exp;
> + __bt->frac |= (uint64_t)__bt->sec << (64 + __exp);
> + __bt->sec >>= -__exp;
> }
> }
__bt has another naming error. It is not a bintime variable, but a pointer
to one. It should be named _btp. This style bug is everywhere dense in
bintime code.
'sec' and 'frac' are in the application namespace.
#define sec namespace errors in bintime bite me if I do this
#define frac the errors are just as undocumented as the namespace
#include <sys/time.h>
This is not fixed.
Bruce
More information about the svn-src-head
mailing list