On Jan 24, 2010, at 4:32 PM, Arjen de Korte wrote:

Citeren Charles Lepple <[email protected]>:

You were very close with the first _XOPEN_SOURCE addition - I think it just needs to be set to a specific version. Let's see how r2267 fares.

We're close now, but I think we need to use

   AC_DEFINE(_XOPEN_SOURCE, 500)

at the top of configure.in instead. What happens now, is that we explicitly *disable* functions that are in not in SUSv2. One example is snprintf() on FreeBSD (which is a SUSv3 / C99 function). We do provide our own (if one is not available), but that one will not be used since we test for presence *before* we specify this version in mge-hid.c.

Ugh. The AC_DEFINE is probably the right thing to do, but that certainly means a lot more code gets affected by that.

It might be even better to up the standards to

   AC_DEFINE(_XOPEN_SOURCE, 600)

to unlock SUSv3 compliance (POSIX 2001 and C99). But then the question is, how many older systems would no longer be able to build NUT? Any thoughts?

I'm not sure how many systems will be affected, but let's step back for a minute.

Could we just check for strptime() using one of the AC_* macros, and not use the date conversion functions if there are issues? I would hate to hear back from a user who couldn't build a serial driver for an older system just because a newer USB driver needed a new function.

--
Charles Lepple

_______________________________________________
Nut-upsdev mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev

Reply via email to