[Libosinfo] [PATCH db-tools 06/11] Set a valid error domain for GError
Daniel P. Berrange
berrange at redhat.com
Tue Jun 28 15:52:32 UTC 2016
GLib will print a warning if 0 is passed for the GQuark
error domain when setting a GError. Define a valid error
domain quark and use it.
Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
---
tools/osinfo-db-util.c | 7 ++++++-
tools/osinfo-db-util.h | 3 +++
tools/osinfo-db-validate.c | 14 +++++++-------
3 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/tools/osinfo-db-util.c b/tools/osinfo-db-util.c
index bd4a813..34abe88 100644
--- a/tools/osinfo-db-util.c
+++ b/tools/osinfo-db-util.c
@@ -27,6 +27,11 @@
#include "osinfo-db-util.h"
+GQuark osinfo_db_error_quark(void)
+{
+ return g_quark_from_static_string("osinfo-db-error");
+}
+
GFile *osinfo_db_get_system_path(const gchar *root)
{
GFile *file;
@@ -141,7 +146,7 @@ GFile *osinfo_db_get_file(const char *root,
}
if (!ret) {
- g_set_error(err, 0, 0,
+ g_set_error(err, OSINFO_DB_ERROR, 0,
_("Unable to locate '%s' in any database location"),
file);
return NULL;
diff --git a/tools/osinfo-db-util.h b/tools/osinfo-db-util.h
index d56c098..59ceadc 100644
--- a/tools/osinfo-db-util.h
+++ b/tools/osinfo-db-util.h
@@ -26,6 +26,9 @@
#include <gio/gio.h>
+#define OSINFO_DB_ERROR osinfo_db_error_quark()
+
+GQuark osinfo_db_error_quark(void);
GFile *osinfo_db_get_system_path(const gchar *root);
GFile *osinfo_db_get_local_path(const gchar *root);
GFile *osinfo_db_get_user_path(const gchar *root);
diff --git a/tools/osinfo-db-validate.c b/tools/osinfo-db-validate.c
index 2989f2e..ce3366a 100644
--- a/tools/osinfo-db-validate.c
+++ b/tools/osinfo-db-validate.c
@@ -58,7 +58,7 @@ static xmlDocPtr parse_file(GFile *file, GError **error)
goto cleanup;
if (!(pctxt = xmlNewParserCtxt())) {
- g_set_error(error, 0, 0, "%s",
+ g_set_error(error, OSINFO_DB_ERROR, 0, "%s",
_("Unable to create libxml parser"));
goto cleanup;
}
@@ -66,7 +66,7 @@ static xmlDocPtr parse_file(GFile *file, GError **error)
if (!(doc = xmlCtxtReadDoc(pctxt, (const xmlChar*)data, uri, NULL,
XML_PARSE_NOENT | XML_PARSE_NONET |
XML_PARSE_NOWARNING))) {
- g_set_error(error, 0, 0,
+ g_set_error(error, OSINFO_DB_ERROR, 0,
_("Unable to parse XML document '%s'"),
uri);
goto cleanup;
@@ -98,7 +98,7 @@ static gboolean validate_file_regular(xmlRelaxNGValidCtxtPtr rngValid,
goto cleanup;
if (xmlRelaxNGValidateDoc(rngValid, doc) != 0) {
- g_set_error(error, 0, 0,
+ g_set_error(error, OSINFO_DB_ERROR, 0,
_("Unable to validate XML document '%s'"),
uri);
goto cleanup;
@@ -166,7 +166,7 @@ static gboolean validate_file(xmlRelaxNGValidCtxtPtr rngValid, GFile *file, GFil
if (!validate_file_regular(rngValid, file, error))
goto cleanup;
} else {
- g_set_error(error, 0, 0,
+ g_set_error(error, OSINFO_DB_ERROR, 0,
"Unable to handle file type for %s",
uri);
goto cleanup;
@@ -198,7 +198,7 @@ static gboolean validate_files(GFile *schema, gsize nfiles, GFile **files, GErro
schemapath = g_file_get_path(schema);
rngParser = xmlRelaxNGNewParserCtxt(schemapath);
if (!rngParser) {
- g_set_error(error, 0, 0,
+ g_set_error(error, OSINFO_DB_ERROR, 0,
_("Unable to create RNG parser for %s"),
schemapath);
goto cleanup;
@@ -206,7 +206,7 @@ static gboolean validate_files(GFile *schema, gsize nfiles, GFile **files, GErro
rng = xmlRelaxNGParse(rngParser);
if (!rng) {
- g_set_error(error, 0, 0,
+ g_set_error(error, OSINFO_DB_ERROR, 0,
_("Unable to parse RNG %s"),
schemapath);
goto cleanup;
@@ -214,7 +214,7 @@ static gboolean validate_files(GFile *schema, gsize nfiles, GFile **files, GErro
rngValid = xmlRelaxNGNewValidCtxt(rng);
if (!rngValid) {
- g_set_error(error, 0, 0,
+ g_set_error(error, OSINFO_DB_ERROR, 0,
_("Unable to create RNG validation context %s"),
schemapath);
goto cleanup;
--
2.7.4
More information about the Libosinfo
mailing list