patch 9.0.2124: INT overflow detection logic can be simplified

Problem:  INT overflow logic can be simplified
Solution: introduce trim_to_int() function

closes: #13556

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/ops.c b/src/ops.c
index 7cb82b8..e30fea7 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -230,8 +230,8 @@
     int call_changed_bytes)	// call changed_bytes()
 {
     long long	count;
-    long	i, j;
-    long	sw_val = get_sw_value_indent(curbuf);
+    int		i, j;
+    int		sw_val = trim_to_int(get_sw_value_indent(curbuf));
 
     count = (long long)get_indent();	// get current indent
 
@@ -263,14 +263,11 @@
 	    count += (long long)sw_val * (long long)amount;
     }
 
-    if (count > INT_MAX)
-	count = INT_MAX;
-
     // Set new indent
     if (State & VREPLACE_FLAG)
-	change_indent(INDENT_SET, (int)count, FALSE, NUL, call_changed_bytes);
+	change_indent(INDENT_SET, trim_to_int(count), FALSE, NUL, call_changed_bytes);
     else
-	(void)set_indent((int)count, call_changed_bytes ? SIN_CHANGED : 0);
+	(void)set_indent(trim_to_int(count), call_changed_bytes ? SIN_CHANGED : 0);
 }
 
 /*