diff options
author | David Herrmann <dh.herrmann@gmail.com> | 2014-12-12 09:43:54 +0100 |
---|---|---|
committer | David Herrmann <dh.herrmann@gmail.com> | 2014-12-12 09:43:54 +0100 |
commit | bff686e2a981ccd0888cdf1981977d24320f1770 (patch) | |
tree | 985439518c0dd5c3b3b7f9361d604e743c1d41ec /units/systemd-initctl.socket | |
parent | 0b9315719154fa7ea1a075e1b3785713f5acc3a1 (diff) |
hwdb: fix dangling 'else' ambuguity
Imagine the following use of hwdb:
if (condition_A)
SD_HWDB_FOREACH_PROPERTY(hwdb, modalias, key, value)
operation_A(key, value);
else
log_error("...");
This should work just fine, but but definitely does not what you would
expect. Due to how SD_HWDB_FOREACH_PROPERTY is defined, the dangling
'else' is linked to the hidden 'if' statement in the macro instead of the
outer 'if (condition_A)'. This is unexpected and really annoying to debug.
Fix this by never leaving un-finished if-statements in
SD_HWDB_FOREACH_PROPERTY(). We simply inverse the if() statement and
explicitly add an 'else'-branch. This way, the statement is closed and all
ambuguities are resolved.
Diffstat (limited to 'units/systemd-initctl.socket')
0 files changed, 0 insertions, 0 deletions