Fix string mutability.
This commit is contained in:
parent
27831566ef
commit
d1ce7c1844
37
0001-generator-Use-Bytes-instead-of-String.patch
Normal file
37
0001-generator-Use-Bytes-instead-of-String.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From 87de49cebbf028ebb0f9950ab9e8fed97807c86e Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Wed, 8 Nov 2017 18:04:15 +0000
|
||||||
|
Subject: [PATCH 1/2] generator: Use Bytes instead of String.
|
||||||
|
|
||||||
|
---
|
||||||
|
generator/generator.ml | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/generator/generator.ml b/generator/generator.ml
|
||||||
|
index 4125ae7..0401217 100755
|
||||||
|
--- a/generator/generator.ml
|
||||||
|
+++ b/generator/generator.ml
|
||||||
|
@@ -415,15 +415,15 @@ let failwithf fs = ksprintf failwith fs
|
||||||
|
let unique = let i = ref 0 in fun () -> incr i; !i
|
||||||
|
|
||||||
|
let replace_char s c1 c2 =
|
||||||
|
- let s2 = String.copy s in
|
||||||
|
+ let s2 = Bytes.of_string s in
|
||||||
|
let r = ref false in
|
||||||
|
- for i = 0 to String.length s2 - 1 do
|
||||||
|
- if String.unsafe_get s2 i = c1 then (
|
||||||
|
- String.unsafe_set s2 i c2;
|
||||||
|
+ for i = 0 to String.length s - 1 do
|
||||||
|
+ if String.unsafe_get s i = c1 then (
|
||||||
|
+ Bytes.unsafe_set s2 i c2;
|
||||||
|
r := true
|
||||||
|
)
|
||||||
|
done;
|
||||||
|
- if not !r then s else s2
|
||||||
|
+ if not !r then s else Bytes.to_string s2
|
||||||
|
|
||||||
|
let isspace c =
|
||||||
|
c = ' '
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
From f45648c58c18f35507475363e12a33589fb6a5f2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Wed, 8 Nov 2017 18:05:31 +0000
|
||||||
|
Subject: [PATCH 2/2] ocaml/t/hivex_200_write.ml: Use Bytes instead of String.
|
||||||
|
|
||||||
|
---
|
||||||
|
ocaml/t/hivex_200_write.ml | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ocaml/t/hivex_200_write.ml b/ocaml/t/hivex_200_write.ml
|
||||||
|
index f70deee..97d9597 100644
|
||||||
|
--- a/ocaml/t/hivex_200_write.ml
|
||||||
|
+++ b/ocaml/t/hivex_200_write.ml
|
||||||
|
@@ -55,14 +55,14 @@ let () =
|
||||||
|
and utf16le_of_ascii str =
|
||||||
|
let len = String.length str in
|
||||||
|
let len' = len * 2 + 2 in
|
||||||
|
- let str' = String.create len' in
|
||||||
|
+ let str' = Bytes.create len' in
|
||||||
|
for i = 0 to len-1 do
|
||||||
|
str'.[i*2] <- str.[i];
|
||||||
|
str'.[i*2+1] <- '\000'
|
||||||
|
done;
|
||||||
|
str'.[len'-2] <- '\000';
|
||||||
|
str'.[len'-1] <- '\000';
|
||||||
|
- str'
|
||||||
|
+ Bytes.to_string str'
|
||||||
|
in
|
||||||
|
iter 0 0 (Hivex.root h);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.13.1
|
||||||
|
|
10
hivex.spec
10
hivex.spec
@ -26,6 +26,10 @@ Source1: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz.s
|
|||||||
Source2: libguestfs.keyring
|
Source2: libguestfs.keyring
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# Upstream patches to fix string mutability.
|
||||||
|
Patch1: 0001-generator-Use-Bytes-instead-of-String.patch
|
||||||
|
Patch2: 0002-ocaml-t-hivex_200_write.ml-Use-Bytes-instead-of-Stri.patch
|
||||||
|
|
||||||
BuildRequires: perl-interpreter
|
BuildRequires: perl-interpreter
|
||||||
BuildRequires: perl-devel
|
BuildRequires: perl-devel
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
@ -194,6 +198,7 @@ tmphome="$(mktemp -d)"
|
|||||||
gpgv2 --homedir "$tmphome" --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
|
gpgv2 --homedir "$tmphome" --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
|
||||||
%endif
|
%endif
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%autopatch -p1
|
||||||
|
|
||||||
# Build Python 3 bindings in a separate subdirectory. We have to
|
# Build Python 3 bindings in a separate subdirectory. We have to
|
||||||
# build everything twice unfortunately.
|
# build everything twice unfortunately.
|
||||||
@ -324,10 +329,7 @@ popd
|
|||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Nov 08 2017 Richard W.M. Jones <rjones@redhat.com> - 1.3.14-12
|
* Wed Nov 08 2017 Richard W.M. Jones <rjones@redhat.com> - 1.3.14-12
|
||||||
- Bump release and rebuild.
|
- Fix string mutability.
|
||||||
|
|
||||||
* Wed Nov 08 2017 Richard W.M. Jones <rjones@redhat.com> - 1.3.14-11
|
|
||||||
- Bump release and rebuild.
|
|
||||||
|
|
||||||
* Wed Nov 08 2017 Richard W.M. Jones <rjones@redhat.com> - 1.3.14-10
|
* Wed Nov 08 2017 Richard W.M. Jones <rjones@redhat.com> - 1.3.14-10
|
||||||
- OCaml 4.06.0 rebuild.
|
- OCaml 4.06.0 rebuild.
|
||||||
|
Loading…
Reference in New Issue
Block a user