From: Daiki Ueno Date: Fri, 25 Sep 2015 08:09:14 +0000 (+0900) Subject: xgettext, xlocator: Fix minor issues X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d5aac5a556c51d87394f7dd46e9892673cb0b8b;p=thirdparty%2Fgettext.git xgettext, xlocator: Fix minor issues --- diff --git a/gettext-tools/src/xgettext.c b/gettext-tools/src/xgettext.c index 9ad4c5b79..a26a85478 100644 --- a/gettext-tools/src/xgettext.c +++ b/gettext-tools/src/xgettext.c @@ -970,7 +970,8 @@ warning: file '%s' extension '%s' is unknown; will try C"), filename, extension) /* Write the PO file. */ msgdomain_list_print (mdlp, file_name, output_syntax, force_po, do_debug); - xlocator_list_free (its_locators); + if (its_locators) + xlocator_list_free (its_locators); exit (EXIT_SUCCESS); } diff --git a/gettext-tools/src/xlocator.c b/gettext-tools/src/xlocator.c index 44e2a1758..474b0772f 100644 --- a/gettext-tools/src/xlocator.c +++ b/gettext-tools/src/xlocator.c @@ -142,10 +142,12 @@ xlocator_match (struct xlocator_ty *locator, const char *path, root = xmlDocGetRootElement (doc); if (locator->type == XLOCATOR_NAMESPACE) - result = xmlStrEqual (root->ns->href, BAD_CAST locator->matcher.ns); + result = root->ns != NULL + && xmlStrEqual (root->ns->href, BAD_CAST locator->matcher.ns); else result = ((!locator->matcher.d.prefix + || *locator->matcher.d.prefix == '\0' || !root->ns || xmlStrEqual (root->ns->prefix, BAD_CAST locator->matcher.d.prefix)) @@ -358,6 +360,7 @@ xlocator_list_add_file (struct xlocator_list_ty *locators, root = xmlDocGetRootElement (doc); if (!(xmlStrEqual (root->name, BAD_CAST "locatingRules") + && root->ns && xmlStrEqual (root->ns->href, BAD_CAST LOCATING_RULES_NS))) { error (0, 0, _("the root element is not \"locatingRules\""