summaryrefslogtreecommitdiff
path: root/lib/facter/blkid.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/facter/blkid.rb')
-rw-r--r--lib/facter/blkid.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/facter/blkid.rb b/lib/facter/blkid.rb
index 79c6135..0940707 100644
--- a/lib/facter/blkid.rb
+++ b/lib/facter/blkid.rb
@@ -3,11 +3,12 @@ Facter.add('blkid') do
lines = Facter::Core::Execution.execute('blkid').split("\n")
out = {}
lines.each do |line|
- a = line.match(/^([^:]*): (.*)/)
+ a = line.match(/^([^:]*):(.*)/)
d = {}
- a[2].split(' ').each do |pair|
- m = pair.match(/(\w*)="(([^"]|\\")*)"/)
+ remaining = a[2]
+ while m = remaining.match(/ (\w*)="([^"]*)"/) do
d[m[1]] = m[2]
+ remaining = m.post_match
end
out[a[1]] = d
end