This seems like quite a specific function. Is there not an Augeas
lens for this file. It would solve this more elegantly.
+let split_key_value_strings lines =
+ let lines = List.filter ((<>) "") lines in
+ let lines = List.filter (fun s -> s.[0] <> '#') lines in
+ List.map (
+ fun line ->
+ let key, value = String.split "=" line in
PCRE? Is whitespace significant?
+ let value =
+ let n = String.length value in
+ if n >= 2 && value.[0] = '"' && value.[n-1] =
'"' then
+ String.sub value 1 (n-2)
Maybe use shell_unquote from C_utils?
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top