Iznogoud writes:
> I looked in both the Linux and the OpenBSD syslog.h file. The OpenBSD
> does not list inclusion of the stdarg, so, as the manual page says, you
> will need to include both, and I do not know why you would not,
regardless
> of what call yuo need to make.
>
> The linux one looks like this near the top:
>
> #include <features.h>
> #define __need___va_list
> #include <stdarg.h>
>
> Given that it defines the "need" thing for what I assume is "variable
> argument" functions, two things I can infer: (a) you, obviously, cannot
> do without including the stdarg unless you copy the syslog.h to a new
> location (maybe for testing), and (b) Linux wants to take care of some
> things for you in case you need va functions,

Thanks for your reply.  I hadn't looked at that, but had
wondered if that's what was happening on Linux.

> probably for your own good.

I consider this to be a strong point for FreeBSD.  I don't
want to include stdarg.h if I don't have to.  (It will happen
regardless on Linux, but at least on FreeBSD it won't.)

I got another reply on another list as follows:
>> On Linux there's
>> no mention of stdarg.h.  I was wondering if stdarg.h
>> is only needed on FreeBSD if you call vsyslog() and
>
>    That's correct, nothing about syslog needs you to include stdarg,
> but you'll need the macros in there if you want to call vsyslog.

The bottom line is I was able to safely remove the include
of stdarg from my code.  It's a minor thing, but at least it
will help a little with build times, especially on FreeBSD.

Speaking of build times, I've noticed my executables are about
2% smaller on FreeBSD 11.2 than on Linux 4.19 (Manjaro).
Another thing to like about FreeBSD, but I will say that Manjaro is
an OK Linux distro.  I used to have to change Linux distros about
every six months because something failed on the one I was
using.  Manjaro hasn't been like that.


Brian
Ebenezer Enterprises - In G-d we trust.
https://github.com/Ebenezer-group/onwards
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.mn-linux.org/pipermail/tclug-list/attachments/20181126/c6aee48a/attachment.html>