summaryrefslogtreecommitdiff
path: root/src/systemd/sd-hwdb.h
Commit message (Collapse)AuthorAge
* hwdb: fix dangling 'else' ambuguityDavid Herrmann2014-12-12
| | | | | | | | | | | | | | | | | | | | 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.
* hwdb: FOREACH_HWDB_PROPERTY -> SD_HWDB_FOREACH_PROPERTYDavid Herrmann2014-12-12
| | | | | Lets not pollute the global namespace. Prefix all our exported names and macros with SD_HWDB_*.
* libsystemd: add sd-hwdb libraryTom Gundersen2014-12-11
This is libudev-hwdb, but decoupled from libudev and in the libsystemd style. The core code is unchanged, apart from the following minor changes: - hwdb.bin located in /**/systemd/hwdb/ take preference over the ones located in /**/udev/ - properties are stored internally in an OrderedHashmap, rather than a linked list. - a new API call allows individual properties to be queried directly, rather than iterating over them all - the iteration over properties have been moved inside the library, rather than exposing a list directly - the unused 'flags' parameter was dropped