Daniel P. Berrange wrote: > When failing to read the pci/usb ID files we failed to > propagate the reported error. > > We also had some dead code which would never be reached > due to earlier gotos. > > Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> > --- > osinfo/osinfo_loader.c | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/osinfo/osinfo_loader.c b/osinfo/osinfo_loader.c > index 6c7c009..dca23f1 100644 > --- a/osinfo/osinfo_loader.c > +++ b/osinfo/osinfo_loader.c > @@ -2127,9 +2127,6 @@ static void osinfo_loader_process_list(OsinfoLoader *loader, > tmp++; > } > > - if (lerr) > - goto cleanup; > - > /* Phase 2: load data from non-native locations, filtering based > * on overrides from native locations */ > tmp = dirs; > @@ -2151,15 +2148,13 @@ static void osinfo_loader_process_list(OsinfoLoader *loader, > } > > if (lerr) { > - break; > + g_propagate_error(err, lerr); > + goto cleanup; > } > > tmp++; > } > > - if (lerr) > - goto cleanup; > - > /* Phase 3: load combined set of files from native locations */ > g_hash_table_iter_init(&iter, allentries); > while (g_hash_table_iter_next(&iter, &key, &value)) { I gave it a test and it improves things, e.g.: $ ./tools/osinfo-query os Error loading OS data: Error opening file: $ test-loader fails with that: test-loader.c:36:F:Core:test_basic:0: Error opening file: No such file or directory Maybe it will make sense to include the actual filename? Because from user perspective it's not quite obvious what file it's trying to open. Roman Bogorodskiy
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo