diff --git a/core/src/main/java/lucee/runtime/functions/dateTime/DateAdd.java b/core/src/main/java/lucee/runtime/functions/dateTime/DateAdd.java index 56fc62c7d2..1793b55dc9 100644 --- a/core/src/main/java/lucee/runtime/functions/dateTime/DateAdd.java +++ b/core/src/main/java/lucee/runtime/functions/dateTime/DateAdd.java @@ -50,7 +50,7 @@ public Object invoke(PageContext pc, Object[] args) throws PageException { public static DateTime _call(PageContext pc, TimeZone tz, String datepart, Number number, DateTime date) throws ExpressionException { datepart = datepart.toLowerCase(); - long l = (long) number; + long l = Caster.toLongValue(number); int n = (int) l; char first = datepart.length() == 1 ? datepart.charAt(0) : (char) 0; diff --git a/core/src/main/java/lucee/runtime/functions/decision/IsArray.java b/core/src/main/java/lucee/runtime/functions/decision/IsArray.java index 83dd59e8e6..3f9bbd24d4 100644 --- a/core/src/main/java/lucee/runtime/functions/decision/IsArray.java +++ b/core/src/main/java/lucee/runtime/functions/decision/IsArray.java @@ -39,7 +39,7 @@ public static boolean call(PageContext pc, Object object, Number dimension) { if (dim == -999) return Decision.isArray(object); // -999 == default value for named argument if ((object instanceof Array)) { - return ((Array) object).getDimension() == (int) dimension; + return ((Array) object).getDimension() == dim; } else if (dim == 1) { return Decision.isArray(object); diff --git a/core/src/main/java/lucee/runtime/functions/displayFormatting/FormatBaseN.java b/core/src/main/java/lucee/runtime/functions/displayFormatting/FormatBaseN.java index 50990f5b8f..f9fc5da2bd 100644 --- a/core/src/main/java/lucee/runtime/functions/displayFormatting/FormatBaseN.java +++ b/core/src/main/java/lucee/runtime/functions/displayFormatting/FormatBaseN.java @@ -46,6 +46,6 @@ public static String call(PageContext pc, Number number, Number radix) throws Ex throw new FunctionException(pc, "formatBaseN", 1, "number", "number to formatted must be on or between Integer.MIN_VALUE and Integer.MAX_VALUE (" + Integer.MIN_VALUE + ", " + Integer.MAX_VALUE + ")"); } - return rdx == 2 || rdx == 16 ? Long.toString(converted & uint32_mask, (int) radix) : Long.toString(converted, (int) radix); + return rdx == 2 || rdx == 16 ? Long.toString(converted & uint32_mask, rdx) : Long.toString(converted, rdx); } } \ No newline at end of file diff --git a/core/src/main/java/lucee/runtime/functions/list/ListFirst.java b/core/src/main/java/lucee/runtime/functions/list/ListFirst.java index 335af17022..eeced426f4 100755 --- a/core/src/main/java/lucee/runtime/functions/list/ListFirst.java +++ b/core/src/main/java/lucee/runtime/functions/list/ListFirst.java @@ -47,7 +47,7 @@ public static String call(PageContext pc, String list, String delimiter, boolean public static String call(PageContext pc, String list, String delimiter, boolean includeEmptyFields, Number count) throws FunctionException { int cnt = Caster.toIntValue(count); if (cnt < 1) throw new FunctionException(pc, "ListFirst", 4, "count", "Argument count must be a positive value greater than 0"); - return ListUtil.first(list, delimiter, !includeEmptyFields, (int) count); + return ListUtil.first(list, delimiter, !includeEmptyFields, cnt); } @Override diff --git a/core/src/main/java/lucee/runtime/functions/list/ListLast.java b/core/src/main/java/lucee/runtime/functions/list/ListLast.java index 0d30e7d116..77cc868fd1 100755 --- a/core/src/main/java/lucee/runtime/functions/list/ListLast.java +++ b/core/src/main/java/lucee/runtime/functions/list/ListLast.java @@ -47,7 +47,7 @@ public static String call(PageContext pc, String list, String delimiter, boolean public static String call(PageContext pc, String list, String delimiter, boolean includeEmptyFields, Number count) { int cnt = Caster.toIntValue(count); if (cnt == 1d) return ListUtil.last(list, delimiter, !includeEmptyFields); - return ListUtil.last(list, delimiter, !includeEmptyFields, (int) count); + return ListUtil.last(list, delimiter, !includeEmptyFields, cnt); } @Override diff --git a/core/src/main/java/lucee/runtime/functions/list/ListRest.java b/core/src/main/java/lucee/runtime/functions/list/ListRest.java index 54301ca509..71ce1a14be 100755 --- a/core/src/main/java/lucee/runtime/functions/list/ListRest.java +++ b/core/src/main/java/lucee/runtime/functions/list/ListRest.java @@ -44,11 +44,11 @@ public static String call(PageContext pc, String list, String delimiter, boolean return ListUtil.rest(list, delimiter, !includeEmptyFields, 1); } - public static String call(PageContext pc, String list, String delimiter, boolean includeEmptyFields, double offset) throws FunctionException { + public static String call(PageContext pc, String list, String delimiter, boolean includeEmptyFields, Number offset) throws FunctionException { + int off = Caster.toIntValue(offset); + if (off < 1) throw new FunctionException(pc, "ListRest", 4, "offset", "Argument offset must be a positive value greater than 0"); - if (offset < 1) throw new FunctionException(pc, "ListRest", 4, "offset", "Argument offset must be a positive value greater than 0"); - - return ListUtil.rest(list, delimiter, !includeEmptyFields, (int) offset); + return ListUtil.rest(list, delimiter, !includeEmptyFields, off); } @Override diff --git a/core/src/main/java/lucee/runtime/functions/math/Int.java b/core/src/main/java/lucee/runtime/functions/math/Int.java index a96dbb4285..a5a1722958 100644 --- a/core/src/main/java/lucee/runtime/functions/math/Int.java +++ b/core/src/main/java/lucee/runtime/functions/math/Int.java @@ -37,7 +37,7 @@ public static Number call(PageContext pc, Number number) { if (ThreadLocalPageContext.preciseMath(pc)) { return Caster.toBigDecimal(number).toBigInteger(); } - return (int) Caster.toDoubleValue(number); + return Caster.toIntValue(number); } @Override diff --git a/core/src/main/java/lucee/runtime/functions/system/GetCPUUsage.java b/core/src/main/java/lucee/runtime/functions/system/GetCPUUsage.java index 11b77a29d4..ebad2d0ecb 100644 --- a/core/src/main/java/lucee/runtime/functions/system/GetCPUUsage.java +++ b/core/src/main/java/lucee/runtime/functions/system/GetCPUUsage.java @@ -32,8 +32,8 @@ public static Number call(PageContext pc) throws ApplicationException { return call(pc, 1000); } - public static Number call(PageContext pc, double time) throws ApplicationException { - return Caster.toNumber(pc, SystemUtil.getCpuUsage((long) time)); + public static Number call(PageContext pc, Number time) throws ApplicationException { + return Caster.toNumber(pc, SystemUtil.getCpuUsage(Caster.toLongValue(time))); } } \ No newline at end of file