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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to