[Libosinfo] [libosinfo] Don't fail when there's an error loading the user DB

Daniel P. Berrange berrange at redhat.com
Tue Mar 19 10:18:04 UTC 2013


On Tue, Mar 19, 2013 at 11:05:21AM +0100, Christophe Fergeau wrote:
> osinfo_loader_process_default_path() currently returns an error if
> there was a problem when parsing the user database. This leads
> application to error out when an invalid XML file is dropped in
> ~/.config/libosinfo/db/
> As the stricter behaviour can be achieved using public libosinfo API,
> we can change osinfo_loader_process_default_path() to be less strict
> and more useful to applications.
> ---
>  osinfo/osinfo_loader.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c
> index 467af3f..bc17a2e 100644
> --- a/osinfo/osinfo_loader.c
> +++ b/osinfo/osinfo_loader.c
> @@ -1892,8 +1892,10 @@ void osinfo_loader_process_default_path(OsinfoLoader *loader, GError **err)
>          goto error;
>  
>      osinfo_loader_process_user_path(loader, &error);
> -    if (error)
> -        goto error;
> +    if (error) {
> +        g_warning("Error loading libosinfo user data: %s", error->message);
> +        g_clear_error(&error);
> +    }

It would be nice if we defined an error code for the "Directory does not exist"
error scenario, so we can skip that gracefully, but still report an fatal error
for parser problems.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the Libosinfo mailing list