Re: [PATCH v2 4/4] osinfo_loader: do not use xpath to read localized strings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Giuseppe Scrivano <gscrivan@xxxxxxxxxx> writes:

> Signed-off-by: Giuseppe Scrivano <gscrivan@xxxxxxxxxx>
> ---
>  osinfo/osinfo_loader.c | 26 +++++++++++++++-----------
>  1 file changed, 15 insertions(+), 11 deletions(-)
>
> diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c
> index 6e79e78..6fe7145 100644
> --- a/osinfo/osinfo_loader.c
> +++ b/osinfo/osinfo_loader.c
> @@ -328,17 +328,21 @@ static void osinfo_loader_entity(OsinfoLoader *loader,
>           * want to ignore that, hence the NULL check on index 'j + 1'.
>           */
>          if (keys[i].type == G_TYPE_STRING) {
> -            for (j = 0; langs[j + 1] != NULL; j++) {
> -                xpath = g_strdup_printf("string(./%s[lang('%s')])",
> -                                        keys[i].name, langs[j]);
> -                value_str = osinfo_loader_string(xpath, loader, ctxt, err);
> -                g_free(xpath);
> -                xpath = NULL;
> -                if (error_is_set(err))
> -                    return;
> -
> -                if (value_str != NULL)
> -                    break;
> +            xmlNodePtr it;
> +            for (it = root->children; it; it = it->next) {
> +                if (xmlStrEqual(it->name, BAD_CAST keys[i].name)) {
> +                    xmlChar *lang = xmlGetProp(it, BAD_CAST "lang");
> +                    if (lang == NULL)
> +                        continue;
> +
> +                    for (j = 0; langs[j + 1] != NULL; j++) {
> +                        if (xmlStrEqual(lang, BAD_CAST langs[j])) {
> +                            gchar *content = (gchar *) it->children->content;
> +                            value_str = g_strdup(content);
> +                            break;
> +                        }
> +                    }
> +                }
>              }
>          }


This is the last patch tht misses an ACK, is it OK?  In case, can I push
these changes amending the small changes reported for other patches or
should I go for v3?

Thanks,
Giuseppe

_______________________________________________
Libosinfo mailing list
Libosinfo@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libosinfo




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux