summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Jones <rjones@trick.home.annexia.org>2009-10-01 15:20:14 +0100
committerRichard Jones <rjones@trick.home.annexia.org>2009-10-01 15:20:14 +0100
commit5021b2efea92c021c04812056149485ac4803e9c (patch)
tree303b21e5fb96a42fecd89376cc8987e9c1139f09
parentd525103c8621f6ff0293311a8e8f9ac0c3580805 (diff)
downloadlibguestfs-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-xinspector/virt-inspector34
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");