[Libguestfs] [PATCH 1/3] common/mlpcre: add offset flag for PCRE.matches
Richard W.M. Jones
rjones at redhat.com
Mon Mar 25 14:48:53 UTC 2019
On Mon, Feb 25, 2019 at 05:22:50PM +0100, Pino Toscano wrote:
> diff --git a/common/mlpcre/pcre_tests.ml b/common/mlpcre/pcre_tests.ml
> index 346019c40..f199ad63a 100644
> --- a/common/mlpcre/pcre_tests.ml
> +++ b/common/mlpcre/pcre_tests.ml
> @@ -18,6 +18,10 @@
>
> open Printf
>
> +let optget def = function
> + | None -> def
> + | Some v -> v
This is the same as Option.default (from Std_utils), so this function
isn't needed. But in any case OCaml will do this automatically for
you:
> +let matches ?offset re str =
let matches ?(offset = 0) re str =
will replace offset by 0 if the labelled parameter wasn't given.
> + eprintf "PCRE.matches %s, %d ->%!" str (optget 0 offset);
> + let r = PCRE.matches ?offset re str in
With the change above, the type of offset is int so you can
pass it to PCRE.matches using ~offset instead of ?offset.
However in general this patch is fine, so ACK if you fix the above.
Rich.
> eprintf " %b\n%!" r;
> r
>
> @@ -103,6 +107,11 @@ let () =
> assert (subi 1 = (2, 3));
> assert (subi 2 = (3, 3));
>
> + assert (matches ~offset:5 re0 "aaabcabc" = true);
> + assert (sub 0 = "ab");
> +
> + assert (matches ~offset:5 re0 "aaabcbaac" = false);
> +
> assert (replace re0 "dd" "abcabcaabccca" = "ddcabcaabccca");
> assert (replace ~global:true re0 "dd" "abcabcaabccca" = "ddcddcddccca");
>
> --
> 2.20.1
>
> _______________________________________________
> Libguestfs mailing list
> Libguestfs at redhat.com
> https://www.redhat.com/mailman/listinfo/libguestfs
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/
More information about the Libguestfs
mailing list