innfeed portability

Russ Allbery rra at stanford.edu
Sat Nov 20 21:45:31 UTC 1999


Russ Allbery <rra at Stanford.EDU> writes:

> Would anyone have any objections to me merging the portability gunk for
> innfeed into the rest of INN and then removing innfeed/sysconfig.h and
> renaming innfeed/config.h to innfeed/innfeed.h?

This has now mostly been done, although some of the portability gunk moved
into innfeed/innfeed.h for now until I could figure out what to do with
it.  But testing for IOV_MAX is now in configure itself, so all the
host-specific hackery of both sysconfig.h and clibrary.h has gone away.

Let me know if I broke compiles anywhere.  And if anyone knows why innfeed
used to be including sys/stream.h, I couldn't figure that out.  I removed
it and it still seemed happy, and looking at sys/stream.h on Solaris I
couldn't figure out what there would be needed, but I'm going to do
another round of portability compiles in a moment and see if I can turn up
anything.

At some point, we need to standardize on a way of handling booleans.  My
current preference is for something like:

        typedef enum { FALSE = 0, TRUE = 1 } bool;

but I don't know the C standard rules for enums well enough to know if
that's safe and will always do the right thing.

Currently, innfeed is using false, true, and bool, and INN is using FALSE,
TRUE, and BOOL, so any standardization is going to require changing some
hunk of code.  All-uppercase basic types look odd to me, but I could live
with BOOL instead of bool; it may be more portable due to being less
likely to clash with system types.

-- 
Russ Allbery (rra at stanford.edu)         <URL:http://www.eyrie.org/~eagle/>


More information about the inn-workers mailing list