rpms/ocaml/devel ocaml-3.11.0-string-index-from.patch, NONE, 1.1 ocaml.spec, 1.44, 1.45

Richard W.M. Jones rjones at fedoraproject.org
Thu Nov 20 17:53:08 UTC 2008


Author: rjones

Update of /cvs/pkgs/rpms/ocaml/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29821

Modified Files:
	ocaml.spec 
Added Files:
	ocaml-3.11.0-string-index-from.patch 
Log Message:
* Thu Nov 20 2008 Richard W.M. Jones <rjones at redhat.com> - 3.11.0+beta1-2
- Fix Invalid_argument("String.index_from") with patch from upstream.


ocaml-3.11.0-string-index-from.patch:

--- NEW FILE ocaml-3.11.0-string-index-from.patch ---
--- ocaml/stdlib/string.ml	2008/07/22 11:29:00	1.28
+++ ocaml/stdlib/string.ml	2008/11/18 10:29:26	1.29
@@ -11,7 +11,7 @@
 (*                                                                     *)
 (***********************************************************************)
 
-(* $Id: string.ml,v 1.28 2008/07/22 11:29:00 weis Exp $ *)
+(* $Id: string.ml,v 1.29 2008/11/18 10:29:26 doligez Exp $ *)
 
 (* String operations *)
 
@@ -154,7 +154,7 @@ let index s c = index_rec s (length s) 0
 
 let index_from s i c =
   let l = length s in
-  if i < 0 || i >= l then invalid_arg "String.index_from" else
+  if i < 0 || i > l then invalid_arg "String.index_from" else
   index_rec s l i c;;
 
 let rec rindex_rec s i c =
@@ -164,22 +164,18 @@ let rec rindex_rec s i c =
 let rindex s c = rindex_rec s (length s - 1) c;;
 
 let rindex_from s i c =
-  let l = length s in
-  if i < 0 || i >= l then invalid_arg "String.rindex_from" else
+  if i < -1 || i >= length s then invalid_arg "String.rindex_from" else
   rindex_rec s i c;;
 
 let contains_from s i c =
   let l = length s in
-  if i < 0 || i >= l then invalid_arg "String.contains_from" else
+  if i < 0 || i > l then invalid_arg "String.contains_from" else
   try ignore (index_rec s l i c); true with Not_found -> false;;
 
-let contains s c =
-  let l = length s in
-  l <> 0 && contains_from s 0 c;;
+let contains s c = contains_from s 0 c;;
 
 let rcontains_from s i c =
-  let l = length s in
-  if i < 0 || i >= l then invalid_arg "String.rcontains_from" else
+  if i < 0 || i >= length s then invalid_arg "String.rcontains_from" else
   try ignore (rindex_rec s i c); true with Not_found -> false;;
 
 type t = string


Index: ocaml.spec
===================================================================
RCS file: /cvs/pkgs/rpms/ocaml/devel/ocaml.spec,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- ocaml.spec	20 Nov 2008 15:30:55 -0000	1.44
+++ ocaml.spec	20 Nov 2008 17:52:37 -0000	1.45
@@ -2,7 +2,7 @@
 
 Name:           ocaml
 Version:        3.11.0+beta1
-Release:        1%{?dist}
+Release:        2%{?dist}
 
 Summary:        Objective Caml compiler and programming environment
 
@@ -32,6 +32,12 @@
 # A similar fix went upstream in 3.11.0:
 #Patch5:         ocaml-3.11-dev12-no-executable-stack.patch
 
+# This is a patch from upstream which fixes PR#4637, PR#4582.
+# http://camlcvs.inria.fr/cgi-bin/cvsweb/ocaml/stdlib/string.ml.diff?r1=text&tr1=1.29&r2=text&tr2=1.28
+# commonly manifested as errors thrown saying:
+# Invalid_argument("String.index_from")
+Patch6:          ocaml-3.11.0-string-index-from.patch
+
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  ncurses-devel
@@ -206,6 +212,7 @@
 %patch3 -p1 -b .ppc64
 #%patch4 -p1 -b .map32bit
 #%patch5 -p0 -b .noexecstack
+%patch6 -p1 -b .stringindexfrom
 
 cp %{SOURCE2} refman.pdf
 
@@ -446,6 +453,9 @@
 
 
 %changelog
+* Thu Nov 20 2008 Richard W.M. Jones <rjones at redhat.com> - 3.11.0+beta1-2
+- Fix Invalid_argument("String.index_from") with patch from upstream.
+
 * Tue Nov 18 2008 Richard W.M. Jones <rjones at redhat.com> - 3.11.0+beta1-1
 - Rebuild for major new upstream release of 3.11.0 for Fedora 11.
 




More information about the fedora-extras-commits mailing list