summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nm-core-utils.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/nm-core-utils.c b/src/nm-core-utils.c
index 88614278f1..3fb843af8f 100644
--- a/src/nm-core-utils.c
+++ b/src/nm-core-utils.c
@@ -1869,7 +1869,6 @@ nm_utils_flags2str (const NMUtilsFlags2StrDesc *descs,
for (i = 0; i < n_descs; i++) {
gsize j;
- nm_assert (descs[i].flag && nm_utils_is_power_of_two (descs[i].flag));
nm_assert (descs[i].name && descs[i].name[0]);
for (j = 0; j < i; j++)
nm_assert (descs[j].flag != descs[i].flag);
@@ -1882,13 +1881,20 @@ nm_utils_flags2str (const NMUtilsFlags2StrDesc *descs,
return buf;
buf[0] = '\0';
+ p = buf;
if (!flags) {
+ for (i = 0; i < n_descs; i++) {
+ if (!descs[i].flag) {
+ nm_utils_strbuf_append_str (&p, &len, descs[i].name);
+ break;
+ }
+ }
return buf;
}
- p = buf;
for (i = 0; flags && i < n_descs; i++) {
- if (NM_FLAGS_HAS (flags, descs[i].flag)) {
+ if ( descs[i].flag
+ && NM_FLAGS_ALL (flags, descs[i].flag)) {
flags &= ~descs[i].flag;
if (buf[0] != '\0')