On Mon, Jan 15, 2018 at 03:13:59PM +0100, Cédric Bosdonnat wrote: > Rename the sgdisk_info_extract_uuid_field to > sgdisk_info_extract_field in order to reuse it for other field types. > Just like its C ancestor, it now needs an extractor function to be > passed as parameter. > --- > daemon/parted.ml | 22 ++++++++++++---------- > 1 file changed, 12 insertions(+), 10 deletions(-) > > diff --git a/daemon/parted.ml b/daemon/parted.ml > index d6638867a..6fe803613 100644 > --- a/daemon/parted.ml > +++ b/daemon/parted.ml > @@ -124,12 +124,11 @@ let part_get_parttype device = > | _ -> > failwithf "%s: cannot parse the output of parted" device > > -let rec part_get_gpt_type device partnum = > - sgdisk_info_extract_uuid_field device partnum "Partition GUID code" > -and part_get_gpt_guid device partnum = > - sgdisk_info_extract_uuid_field device partnum "Partition unique GUID" > +let extract_guid value = > + (* The value contains only valid GUID characters. *) > + String.sub value 0 (String.span value "-0123456789ABCDEF") > > -and sgdisk_info_extract_uuid_field device partnum field = > +let sgdisk_info_extract_field device partnum field extractor = > if partnum <= 0 then failwith "partition number must be >= 1"; > > udev_settle (); > @@ -167,13 +166,16 @@ and sgdisk_info_extract_uuid_field device partnum field > = > (* Skip any whitespace after the colon. *) > let value = String.triml value in > > - (* Extract the UUID. *) > - extract_uuid value > + (* Extract the value. *) > + extractor value > > | _ :: lines -> loop lines > in > loop lines > > -and extract_uuid value = > - (* The value contains only valid GUID characters. *) > - String.sub value 0 (String.span value "-0123456789ABCDEF") > +let rec part_get_gpt_type device partnum = > + sgdisk_info_extract_field device partnum "Partition GUID code" > + extract_guid > +and part_get_gpt_guid device partnum = > + sgdisk_info_extract_field device partnum "Partition unique GUID" > + extract_guid > -- > 2.15.1
Simple refactoring, ACK. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html _______________________________________________ Libguestfs mailing list [email protected] https://www.redhat.com/mailman/listinfo/libguestfs
