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/cindent.c b/src/cindent.c
index 7ac1f4b..a9b813f 100644
--- a/src/cindent.c
+++ b/src/cindent.c
@@ -1734,7 +1734,7 @@
     int		divider;
     int		fraction = 0;
     int		sw;
-    long long	t = get_sw_value(buf);
+    long	t = get_sw_value(buf);
 
     // needed for cino-(, it will be multiplied by 2 again
     if (t > INT_MAX / 2)
@@ -1902,17 +1902,14 @@
 	    {
 		n *= sw;
 		if (divider)
-		    n += (sw * fraction + divider / 2) / divider;
+		    n += ((long long)sw * fraction + divider / 2) / divider;
 	    }
 	    ++p;
 	}
 	if (l[1] == '-')
 	    n = -n;
 
-	if (n > INT_MAX)
-	    n = INT_MAX;
-	else if (n < INT_MIN)
-	    n = INT_MIN;
+	n = trim_to_int(n);
 
 	// When adding an entry here, also update the default 'cinoptions' in
 	// doc/indent.txt, and add explanation for it!