File 4027-string-unicode_util-Stricten-tests-for-integers.patch of Package erlang

From f6a337dfdbc27e17b0beb246be915817870bbf8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org>
Date: Wed, 22 Jun 2022 06:38:52 +0200
Subject: [PATCH 7/7] string, unicode_util: Stricten tests for integers

---
 lib/stdlib/src/string.erl                  | 81 +++++++++++++---------
 lib/stdlib/uc_spec/gen_unicode_mod.escript | 62 +++++++++--------
 2 files changed, 84 insertions(+), 59 deletions(-)

diff --git a/lib/stdlib/src/string.erl b/lib/stdlib/src/string.erl
index a418754caf..3c62dd9333 100644
--- a/lib/stdlib/src/string.erl
+++ b/lib/stdlib/src/string.erl
@@ -277,7 +277,7 @@ chars(C, N) -> chars(C, N, []).
       Tail :: string(),
       String :: string().
 
-chars(C, N, Tail) when N > 0 ->
+chars(C, N, Tail) when is_integer(N), N > 0 ->
     chars(C, N-1, [C|Tail]);
 chars(C, 0, Tail) when is_integer(C) ->
     Tail.
@@ -407,7 +407,7 @@ left(String, Len) when is_integer(Len) -
       Number :: non_neg_integer(),
       Character :: char().
 
-left(String, Len, Char) when is_integer(Char) ->
+left(String, Len, Char) when is_integer(Len), is_integer(Char) ->
     Slen = length(String),
     if
 	Slen > Len -> substr(String, 1, Len);
@@ -432,7 +432,7 @@ right(String, Len) when is_integer(Len)
       Number :: non_neg_integer(),
       Character :: char().
 
-right(String, Len, Char) when is_integer(Char) ->
+right(String, Len, Char) when is_integer(Len), is_integer(Char) ->
     Slen = length(String),
     if
 	Slen > Len -> substr(String, Slen-Len+1);
@@ -459,7 +459,7 @@ centre(String, Len) when is_integer(Len)
 
 centre(String, 0, Char) when is_list(String), is_integer(Char) ->
     [];                       % Strange cases to centre string
-centre(String, Len, Char) when is_integer(Char) ->
+centre(String, Len, Char) when is_integer(Len), is_integer(Char) ->
     Slen = length(String),
     if
 	Slen > Len -> substr(String, (Slen-Len) div 2 + 1, Len);
@@ -484,7 +484,8 @@ sub_string(String, Start) -> substr(Stri
       Start :: pos_integer(),
       Stop :: pos_integer().
 
-sub_string(String, Start, Stop) -> substr(String, Start, Stop - Start + 1).
+sub_string(String, Start, Stop) when is_integer(Start), is_integer(Stop) ->
+    substr(String, Start, Stop - Start + 1).
 
 %% ISO/IEC 8859-1 (latin1) letters are converted, others are ignored
 %%
-- 
2.35.3

openSUSE Build Service is sponsored by