diff options
| author | Michael Biebl <biebl@debian.org> | 2026-07-03 19:53:23 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2026-07-03 19:53:23 +0200 |
| commit | aa308069bebf2d5a3200728caa69a76137c03d8b (patch) | |
| tree | c0ba2281e801c4720a0d8a5e5ee943688234f088 /src/libnmc-setting/nm-meta-setting-access.c | |
| parent | 0a4b2c29da4ccf259bbcea3298d15abebb94348f (diff) | |
| parent | 537bfce2bda471c92caabd388589230200891509 (diff) | |
Update upstream source from tag 'upstream/1.58_rc1'
Update to upstream version '1.58~rc1' with Debian dir 451489c9234e2b6b7c2f41ca6670287ea3ac3efd
Diffstat (limited to 'src/libnmc-setting/nm-meta-setting-access.c')
| -rw-r--r-- | src/libnmc-setting/nm-meta-setting-access.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/libnmc-setting/nm-meta-setting-access.c b/src/libnmc-setting/nm-meta-setting-access.c index 14857048..bda1cd5c 100644 --- a/src/libnmc-setting/nm-meta-setting-access.c +++ b/src/libnmc-setting/nm-meta-setting-access.c @@ -191,6 +191,17 @@ nm_meta_abstract_info_get_name(const NMMetaAbstractInfo *abstract_info, gboolean return n; } +const char * +nm_meta_abstract_info_get_alias(const NMMetaAbstractInfo *abstract_info) +{ + nm_assert(abstract_info); + nm_assert(abstract_info->meta_type); + + if (abstract_info->meta_type->get_alias) + return abstract_info->meta_type->get_alias(abstract_info); + return NULL; +} + const NMMetaAbstractInfo *const * nm_meta_abstract_info_get_nested(const NMMetaAbstractInfo *abstract_info, guint *out_len, @@ -466,10 +477,15 @@ _output_selection_select_one(const NMMetaAbstractInfo *const *fields_array, for (i = 0; fields_array[i]; i++) { const NMMetaAbstractInfo *fi = fields_array[i]; + const char *name, *alias; const NMMetaAbstractInfo *const *nested; gs_free gpointer nested_to_free = NULL; - if (g_ascii_strcasecmp(i_name, nm_meta_abstract_info_get_name(fi, FALSE)) != 0) + name = nm_meta_abstract_info_get_name(fi, FALSE); + alias = nm_meta_abstract_info_get_alias(fi); + + if (g_ascii_strcasecmp(i_name, name) != 0 + && (alias == NULL || g_ascii_strcasecmp(i_name, alias) != 0)) continue; if (!right || !validate_nested) { @@ -480,8 +496,11 @@ _output_selection_select_one(const NMMetaAbstractInfo *const *fields_array, nested = nm_meta_abstract_info_get_nested(fi, NULL, &nested_to_free); if (nested) { for (j = 0; nested[j]; nested++) { - if (g_ascii_strcasecmp(right, nm_meta_abstract_info_get_name(nested[j], FALSE)) - == 0) { + name = nm_meta_abstract_info_get_name(nested[j], FALSE); + alias = nm_meta_abstract_info_get_alias(nested[j]); + + if (g_ascii_strcasecmp(right, name) == 0 + || (alias && g_ascii_strcasecmp(right, alias) == 0)) { found = TRUE; break; } |