(* $Id$ * ---------------------------------------------------------------------- * PXP: The polymorphic XML parser for Objective Caml. * Copyright by Gerd Stolpmann. See LICENSE for details. *) (* WARNING: This file is pxp_lib_ocamlopt.ml *) (* Functions optimized for the native code compiler *) let rec index_rec s i = let s_i = String.unsafe_get s i in if s_i = '\010' || s_i = '\013' then i else index_rec s (i+1) ;; let rec index_lim_rec s lim i = if i >= lim then -1 else let s_i = String.unsafe_get s i in if s_i = '\010' || s_i = '\013' then i else index_lim_rec s lim (i+1) ;; let crlf_index_from s i = let lim = String.length s in assert (i>=0 && i <= lim); if lim = 0 || i = lim then -1 else index_lim_rec s lim i ;; exception Found;; let only_whitespace s = let l = String.length s in try for i=0 to l - 1 do match String.unsafe_get s i with ('\009'|'\010'|'\013'|'\032') -> () | _ -> raise Found done; true with Found -> false ;;