• Thomas Haller's avatar
    platform: use NM_CMP_FIELD_UNSAFE() for comparing bitfield in nm_platform_qdisc_cmp() · 366d3af0
    Thomas Haller authored
    "NM_CMP_FIELD (a, b, fq_codel.ecn == TRUE)" is quite a hack as it relies on
    the implementation of the macro in a particular way. The problem is, that
    NM_CMP_FIELD() uses typeof() which cannot be used with bitfields. So, the
    nicer solution is to use NM_CMP_FIELD_UNSAFE() which exists exactly for bitfields
    (it's "unsafe", because it evaluates arguments more than once as it avoids
    the temporary variable with typeof()).
    
    Same with nm_hash_update_vals() which uses typeof() to avoid evaluating
    arguments more than once. But that again does not work with bitfields.
    The "proper" way is to use NM_HASH_COMBINE_BOOLS().
    
    (cherry picked from commit 47d8bee1)
    366d3af0
Name
Last commit
Last update
clients Loading commit data...
contrib Loading commit data...
data Loading commit data...
dispatcher Loading commit data...
docs Loading commit data...
examples Loading commit data...
introspection Loading commit data...
libnm Loading commit data...
libnm-core Loading commit data...
libnm-glib Loading commit data...
libnm-util Loading commit data...
m4 Loading commit data...
man Loading commit data...
po Loading commit data...
shared Loading commit data...
src Loading commit data...
tools Loading commit data...
vapi Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
MAINTAINERS Loading commit data...
Makefile.am Loading commit data...
Makefile.examples Loading commit data...
Makefile.glib Loading commit data...
Makefile.vapigen Loading commit data...
NEWS Loading commit data...
NetworkManager.pc.in Loading commit data...
README Loading commit data...
TODO Loading commit data...
autogen.sh Loading commit data...
config-extra.h.meson Loading commit data...
config.h.meson Loading commit data...
configure.ac Loading commit data...
linker-script-binary.ver Loading commit data...
linker-script-devices.ver Loading commit data...
linker-script-settings.ver Loading commit data...
meson.build Loading commit data...
meson_options.txt Loading commit data...
valgrind.suppressions Loading commit data...
zanata.xml Loading commit data...