diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2011-11-03 10:45:58 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-11-03 10:46:50 +0000 |
commit | ffbafadcb8dfebcaba529cb8d7e2da52dd032d8a (patch) | |
tree | ca7e095c997d061cfae5e569921965418a02a26e /resize/utils.ml | |
parent | 63898268101e5ec91c8dac46651dbee5976272ce (diff) | |
download | libguestfs-ffbafadcb8dfebcaba529cb8d7e2da52dd032d8a.tar.gz libguestfs-ffbafadcb8dfebcaba529cb8d7e2da52dd032d8a.tar.xz libguestfs-ffbafadcb8dfebcaba529cb8d7e2da52dd032d8a.zip |
resize: Remove requirement for ocaml Pcre library.
This library is not available in RHEL 6, and in any case removing the
dependency is a simple change.
Diffstat (limited to 'resize/utils.ml')
-rw-r--r-- | resize/utils.ml | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/resize/utils.ml b/resize/utils.ml index dc134be6..c11740fd 100644 --- a/resize/utils.ml +++ b/resize/utils.ml @@ -102,23 +102,16 @@ let feature_available (g : Guestfs.guestfs) names = (* Parse the size field from --resize and --resize-force options. *) let parse_size = - let const_re = Pcre.regexp "^([.\\d]+)([bKMG])$" - and plus_const_re = Pcre.regexp "^\\+([.\\d]+)([bKMG])$" - and minus_const_re = Pcre.regexp "^-([.\\d]+)([bKMG])$" - and percent_re = Pcre.regexp "^([.\\d]+)%$" - and plus_percent_re = Pcre.regexp "^\\+([.\\d]+)%$" - and minus_percent_re = Pcre.regexp "^-([.\\d]+)%$" + let const_re = Str.regexp "^\\([.0-9]+\\)\\([bKMG]\\)$" + and plus_const_re = Str.regexp "^\\+\\([.0-9]+\\)\\([bKMG]\\)$" + and minus_const_re = Str.regexp "^-\\([.0-9]+\\)\\([bKMG]\\)$" + and percent_re = Str.regexp "^\\([.0-9]+\\)%$" + and plus_percent_re = Str.regexp "^\\+\\([.0-9]+\\)%$" + and minus_percent_re = Str.regexp "^-\\([.0-9]+\\)%$" in fun oldsize field -> - let subs = ref None in - let matches rex = - try subs := Some (Pcre.exec ~rex field); true - with Not_found -> false - in - let sub i = - match !subs with None -> assert false - | Some subs -> Pcre.get_substring subs i - in + let matches rex = Str.string_match rex field 0 in + let sub i = Str.matched_group i field in let size_scaled f = function | "b" -> Int64.of_float f | "K" -> Int64.of_float (f *. 1024.) |