On Tue, Dec 06, 2016 at 04:29:22PM +0100, Pino Toscano wrote:
+static void +collect_linux_inspection_info_for (guestfs_h *g, struct inspect_fs *root) +{ + size_t i; + struct inspect_fs *usr = NULL; + + for (i = 0; i < g->nr_fses; ++i) { + struct inspect_fs *fs = &g->fses[i]; + size_t j; + + if (!(fs->distro == root->distro || fs->distro == OS_DISTRO_UNKNOWN) || + fs->role != OS_ROLE_USR) + continue; + + for (j = 0; j < root->nr_fstab; ++j) { + if (STREQ (fs->mountable, root->fstab[j].mountable)) { + usr = fs; + goto got_usr; + } + } + } + + if (usr == NULL)
I think this should be: assert (usr == NULL); unless there's some way to reach this point and usr != NULL.
+ return; + + got_usr: + /* If the version information in /usr is not null, then most probably + * there was an os-release file there, so reset what is in root + * and pick the results from /usr. + */ + if (!version_is_null (&usr->version)) { + root->distro = OS_DISTRO_UNKNOWN; + free (root->product_name); + root->product_name = NULL; + } + + guestfs_int_merge_fs_inspections (g, root, usr); +}
Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW