uint32_t validateIndex(WrenVM* vm, Value arg, uint32_t count, const char* argName) { if (!validateNum(vm, arg, argName)) return UINT32_MAX; return validateIndexValue(vm, count, AS_NUM(arg), argName); }
// Validates that the argument at [argIndex] is an integer within `[0, count)`. // Also allows negative indices which map backwards from the end. Returns the // valid positive index value. If invalid, reports an error and returns -1. static int validateIndex(WrenVM* vm, Value* args, int count, int argIndex, const char* argName) { if (!validateNum(vm, args, argIndex, argName)) return -1; return validateIndexValue(vm, args, count, AS_NUM(args[argIndex]), argName); }
bool validateInt(WrenVM* vm, Value arg, const char* argName) { // Make sure it's a number first. if (!validateNum(vm, arg, argName)) return false; return validateIntValue(vm, AS_NUM(arg), argName); }
// Validates that the given argument in [args] is an integer. Returns true if // it is. If not, reports an error and returns false. static bool validateInt(WrenVM* vm, Value* args, int index, const char* argName) { // Make sure it's a number first. if (!validateNum(vm, args, index, argName)) return false; return validateIntValue(vm, args, AS_NUM(args[index]), argName); }