diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-04-11 16:18:29 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-04-11 16:22:58 +0100 |
commit | a3d6629a0b54aca6d7b5b38750399b5396cdbf07 (patch) | |
tree | b97d6cf5d6875e807741c41e5f466460cdf28142 /sysprep/utils.ml | |
parent | edca57b49e88d179d996652a44f7d6ba5b9ca729 (diff) | |
download | libguestfs-a3d6629a0b54aca6d7b5b38750399b5396cdbf07.tar.gz libguestfs-a3d6629a0b54aca6d7b5b38750399b5396cdbf07.tar.xz libguestfs-a3d6629a0b54aca6d7b5b38750399b5396cdbf07.zip |
sysprep: Move skip_dashes function into Utils module.
This is mostly code motion, but I also changed the function to use
String.unsafe_get and raise Invalid_argument on failure.
Diffstat (limited to 'sysprep/utils.ml')
-rw-r--r-- | sysprep/utils.ml | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sysprep/utils.ml b/sysprep/utils.ml index dfac57d4..ad265984 100644 --- a/sysprep/utils.ml +++ b/sysprep/utils.ml @@ -69,3 +69,15 @@ let string_random8 = String.make 1 c ) [1;2;3;4;5;6;7;8] ) + +(* Skip any leading '-' characters when comparing command line args. *) +let skip_dashes str = + let n = String.length str in + let rec loop i = + if i >= n then invalid_arg "skip_dashes" + else if String.unsafe_get str i = '-' then loop (i+1) + else i + in + let i = loop 0 in + if i = 0 then str + else String.sub str i (n-i) |