This set of patches addresses some issues related to C library
features that were disabled, or were at least affected, by explicitly
enabling C99 in gcc via the -std=c99 command line option.
ELL itself won't build cleanly when constrained solely to C99. A
successful build in that case requires defining the appropriate
feature test macro(s) (e.g. _POSIX_SOURCE, _POSIX_C_SOURCE, etc)
either in ELL's config.h header, the build command line, or individual
source files that require the disabled C library feature.
Ossama Othman (5):
ell: Use __typeof__ instead of typeof in headers.
settings: Include strings.h for strcasecmp() proto
dbus-client: Only include required ELL headers.
ell: Make tls-private.h header self-contained.
tools: Only include required ELL headers.
ell/cipher.h | 1 +
ell/dbus-client.c | 4 +++-
ell/private.h | 2 +-
ell/settings.c | 1 +
ell/tls-private.h | 4 ++++
ell/util.h | 8 ++++----
tools/certchain-verify.c | 5 ++++-
7 files changed, 18 insertions(+), 7 deletions(-)
_dhcp_client_set_transport() would mistakenly free the new transport if
the client had an existing transport. This private function is only used
in a unit test, and only with a client that has an empty transport, so
it was a latent bug.
ell/dhcp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ell/dhcp.c b/ell/dhcp.c
index 0d99f74..5b46b0e 100644
@@ -935,7 +935,7 @@ bool _dhcp_client_set_transport(struct l_dhcp_client *client,
client->transport = transport;
HACKING | 3 ++-
doc/coding-style.txt | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/HACKING b/HACKING
index 7db7d66..22dc9a2 100644
@@ -6,7 +6,8 @@ welcome! In order to ease the inclusion of your patch, it's important to follow
some rules, otherwise it will likely be rejected by maintainers.
ell rules for submitting patches follow most of the rules used by Linux kernel
-(https://www.kernel.org/doc/Documentation/SubmittingPatches) with some remarks:
+with some remarks:
1) Do *not* add "Signed-off-by" lines in your commit messages. ell does not
use them, so including them is actually an error.
diff --git a/doc/coding-style.txt b/doc/coding-style.txt
index 6b1c44a..3699052 100644
@@ -9,7 +9,8 @@ to help your code survive under maintainer's fastidious eyes so that you
can get a passport for your patch ASAP.
First of all, the Embedded Linux Library coding style must follow every rule
-for the Linux kernel (http://www.kernel.org/doc/Documentation/CodingStyle).
+for the Linux kernel
There also exists a tool named checkpatch.pl to help you check the compliance
with it. Just type "checkpatch.pl --no-tree --no-signoff patch_name" to check
The L_PLUGIN_DEFINE() macro triggered missing field initializer
warnings when the corresponding warning flag was enabled for user
defined plugins. Prevent ELL from exposing such warnings to the user
by explicitly initializing all l_plugin_desc fields, as well
re-enabling that warning in maintainer mode builds.
Ossama Othman (2):
plugin: Explicitly initialize descriptor fields.
Re-enable -Wmissing-field-initializers warning.
acinclude.m4 | 1 -
ell/plugin.h | 3 ++-
2 files changed, 2 insertions(+), 2 deletions(-)
From: William Maxwell <thinkabit.ukim(a)gmail.com>
fixes compilation on musl libc systems that are stricter
ell/dir.c: In function 'inotify_read_cb':
ell/dir.c:176:45: error: 'NAME_MAX' undeclared (first use in this function); did you mean 'SIZE_MAX'?
uint8_t buf[sizeof(struct inotify_event) + NAME_MAX + 1]
ell/dir.c:176:45: note: each undeclared identifier is reported only once for each function it appears in
Signed-off-by: William Maxwell <thinkabit.ukim(a)gmail.com>
ell/dir.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/ell/dir.c b/ell/dir.c
index d1870c8..7917664 100644
@@ -27,6 +27,7 @@
When the last entry in a bucket with 2 or more entries was removed
the loop would roll over and iterate over the remaining entries for a
second time (then stop), add missing check.
ell/hashmap.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ell/hashmap.c b/ell/hashmap.c
index ee11d31..061080b 100644
@@ -607,6 +607,8 @@ LIB_EXPORT unsigned int l_hashmap_foreach_remove(struct l_hashmap *hashmap,
entry = prev->next;
+ if (entry == head)