Commit Graph

25 Commits

Author SHA1 Message Date
Callum Farmer
da1f45ac71 include: explicit_bzero() requires _DEFAULT_SOURCE
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
Signed-off-by: Guillem Jover <guillem@hadrons.org>
2022-10-05 12:15:36 +02:00
Guillem Jover
2f9eddc277 include: Simplify glibc version dependent macro handling
We test once whether __GLIBC__ is not defined, so we do not need to test
whether it is on the OR branch afterwards. We decouple the glibc version
restriction check from the _*_SOURCE variable, as that contains an
implicit opposite version check.
2022-10-05 12:12:34 +02:00
Guillem Jover
1f8a3f7bcc Fix function declaration protection for glibc already providing them
On non-glibc based systems we cannot unconditionally use the
__GLIBC_PREREQ macro as it gets expanded before evaluation. Instead,
if it is undefined, define it to 0.

We should also always declare these functions on non-glibc based
systems. And on systems with a new enough glibc, which provides these
functions, we should still provide the declarations if _GNU_SOURCE
is *not* defined.

Reported-by: Jörg Krause <joerg.krause@embedded.rocks>
2018-03-13 02:28:53 +01:00
Guillem Jover
11ec8f1e5d Handle systems missing <sys/cdefs.h>
This is a non-portable header, and we cannot expect it to be provided by
the system libc (e.g. musl). We just need and rely on declaration that
we have defined ourselves in our own <bsd/sys/cdefs.h>. So we switch to
only ever assume that.

Fixes: https://bugs.freedesktop.org/105281
2018-03-13 02:28:53 +01:00
Guillem Jover
22fbd62368 Handle several functions now being provided by glibc
We mention that these are now superseded by the glibc implementations,
make the headers cope with already declared functions on glibc-based
systems, and document this in the man pages.
2017-12-03 16:43:28 +01:00
Guillem Jover
45443583df Add explicit_bzero() function from OpenBSD 2015-09-24 05:47:58 +02:00
Guillem Jover
1be0bdb2c9 Add new strnstr() function
Taken from FreeBSD.
2013-05-27 02:12:43 +02:00
Guillem Jover
e7f3976088 Add email address to my name 2012-05-29 04:51:45 +02:00
Guillem Jover
866f73af91 Move overlay inclusions outside of header protection
Glibc tends to include standard headers with special definitions
that make few declarations or macros visible, this stomps over the
overlay #include_next <> logic.

Based-on-patch-by: Robert Millan <rmh@debian.org>
2012-05-29 04:51:04 +02:00
Guillem Jover
0b96e1a218 Remove deprecated compatibility includes in headers 2012-05-29 04:51:04 +02:00
Guillem Jover
0bf3d3913f Include the correct deprecated headeres when using the overlay 2011-05-29 02:41:15 +02:00
Guillem Jover
755d86be01 Rename LIBBSD_CLEAN_INCLUDES to LIBBSD_DISABLE_DEPRECATED 2011-05-28 10:58:26 +02:00
Guillem Jover
17a9a8472e Rename transparent support to overlay
This affects the pkg-config file now named libbsd-overlay.pc, and the
macro to use the overlay LIBBSD_OVERLAY.
2011-05-27 22:45:26 +02:00
Guillem Jover
8b6a74775b Conditionalize temporary compatibility inclusions
These inclusions were in place for backward compatibility purposes,
when the headers were split so that code using them would not break.
Make it possible for applications to disable them by defining
LIBBSD_CLEAN_INCLUDES so that buildability can be tested and fixed
before they get removed in a subsequent release.
2011-05-14 14:18:22 +02:00
Guillem Jover
520682e596 Add support for transparent compilation
This means that software being ported should not need to be modified in
the usual case, as the libbsd headers will take over the standard
namespace and fill the missing gaps, and include the system headers.

To use this the new libbsd-transparent.pc file can be used through
pkg-config, which should end up doing the right thing.
2011-05-14 13:43:49 +02:00
Guillem Jover
7a70f1b019 Move fmtcheck and fgetln declarations to <bsd/stdio.h>
This is were they are located on the BSDs.
2009-12-12 01:13:29 +01:00
Guillem Jover
7da57b293f Remove traces of fgetwln, it was never included
This function was exposed in the header file and the versioning symbol
file, but the actual code was never here.
2009-12-12 01:11:08 +01:00
Guillem Jover
cb1346e5b3 Export public functions as extern C 2009-05-25 09:25:13 +02:00
Guillem Jover
1f0b016e97 Use UTF-8 copyright symbols for non-imported files 2009-05-20 04:20:21 +02:00
Guillem Jover
8dbfb3529b Add strmode function 2009-05-20 04:14:07 +02:00
Guillem Jover
20bf55ffa5 Include missing stddef.h 2008-06-18 08:09:51 +03:00
Guillem Jover
c14d23b5d7 Add license header 2008-06-18 07:49:59 +03:00
Aurelien Jarno
dedb8169c4 Added manpages and fixed fmtcheck 2008-05-06 08:47:20 +03:00
Aurelien Jarno
91473e2748 fmtcheck: New function 2008-05-06 08:45:48 +03:00
Guillem Jover
657f1b59ce Reorganize header files 2008-05-06 08:45:47 +03:00