diff options
Diffstat (limited to '')
-rw-r--r-- | modules/syslinux/lib/facter/blkid.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/modules/syslinux/lib/facter/blkid.rb b/modules/syslinux/lib/facter/blkid.rb index 79c6135..0940707 100644 --- a/modules/syslinux/lib/facter/blkid.rb +++ b/modules/syslinux/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 |