On Mon, Jun 09, 2008 at 09:43:14AM -0700, Garrett D'Amore wrote: > Mostly looks good. A few quick questions: > > lint will complain about a constant conditional for timeradd() and > timersub(). Use of the /* LINTED */ comment before timeradd() or > timersub() is recommended. > > Can't this be rectified in the header by use of #ifdef lint and some special > lint-only version of the macros? I particularly dislike the cases where > system headers (or system-supplied macros) make lint harder to use.
#ifdef lint seems to be the most expedient solution to the problem. > Are macros the best way to add these? As opposed to inline functions or > somesuch? (In particular, do we know if the other systems -- Linux and > FreeBSD -- all implement these as macros?) *BSD still has 'em as macros. Not sure about Linux -- feel free to look, though. > The various caveats with macros tend to make me want to shy away from their > use in system headers, particularly where the intended consumers are the > larger audience of general programmers. But if that's the way they are > implemented everywhere else, then I suppose it won't hurt too badly to have > them implemented as such as here. I know for sure they're in BSD as macros. > Are there any #define's to conditionally enable or disable these being > added to the namespace? (I'm thinking along the lines of dialect options > that the C compiler exports, e.g. __STDC__, _POSIX_C_SOURCE, and > __EXTENSIONS__.) That's why I went to Don Cragun first. Three of the five documented were ALREADY IN sys/time.h. The two new ones (timeradd/timersub) are in the same blocked areas as the first three. > The other question (and this is just general, not architectural in nature) > is, given that these functions seem to be widely useful and popular, are > you aware of any movement in any of the standards bodies (POSIX) to > standardize on these? Ask Don -- that's his department. Dan
