diff options
author | Richard Jones <rjones@trick.home.annexia.org> | 2009-10-01 15:20:14 +0100 |
---|---|---|
committer | Richard Jones <rjones@trick.home.annexia.org> | 2009-10-01 15:20:14 +0100 |
commit | 5021b2efea92c021c04812056149485ac4803e9c (patch) | |
tree | 303b21e5fb96a42fecd89376cc8987e9c1139f09 | |
parent | d525103c8621f6ff0293311a8e8f9ac0c3580805 (diff) | |
download | libguestfs-5021b2efea92c021c04812056149485ac4803e9c.tar.gz libguestfs-5021b2efea92c021c04812056149485ac4803e9c.tar.xz libguestfs-5021b2efea92c021c04812056149485ac4803e9c.zip |
inspector: Don't bomb if no kernels detected.
If $os->{kernels} wasn't defined, virt-inspector would exit with
an error, leaving partial XML output.
Change the code so it doesn't die in this case, instead just
leaves out the <kernels> section.
-rwxr-xr-x | inspector/virt-inspector | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/inspector/virt-inspector b/inspector/virt-inspector index 86b1795b..dc8847f9 100755 --- a/inspector/virt-inspector +++ b/inspector/virt-inspector @@ -550,23 +550,25 @@ sub output_xml_os $xml->endTag("boot"); } - $xml->startTag("kernels"); - my @kernels = @{$os->{kernels}}; - foreach (@kernels) { - $xml->startTag("kernel", - "version" => $_->{version}, - "arch" => $_->{arch}); - $xml->startTag("modules"); - my @modules = @{$_->{modules}}; - foreach (@modules) { - $xml->dataElement("module", $_); - } - $xml->endTag("modules"); - $xml->dataElement("path", $_->{path}) if(defined($_->{path})); - $xml->dataElement("package", $_->{package}) if(defined($_->{package})); - $xml->endTag("kernel"); + if ($os->{kernels}) { + $xml->startTag("kernels"); + my @kernels = @{$os->{kernels}}; + foreach (@kernels) { + $xml->startTag("kernel", + "version" => $_->{version}, + "arch" => $_->{arch}); + $xml->startTag("modules"); + my @modules = @{$_->{modules}}; + foreach (@modules) { + $xml->dataElement("module", $_); + } + $xml->endTag("modules"); + $xml->dataElement("path", $_->{path}) if(defined($_->{path})); + $xml->dataElement("package", $_->{package}) if(defined($_->{package})); + $xml->endTag("kernel"); + } + $xml->endTag("kernels"); } - $xml->endTag("kernels"); if (exists $os->{root}->{registry}) { $xml->startTag("windowsregistryentries"); |