jerryx_arg_ignore fail
spuggy0919 opened this issue · 0 comments
spuggy0919 commented
JERRYX_UNUSED(call_info_p);
int16_t x=1;
int16_t y=2;
uint8_t bitmap;// WARNNING* need to check BUFFERSIZE
char buf[32];// WARNNING need to check BUFFERSIZE
int16_t w=3;
int16_t h=4;
uint16_t color=1;
uint16_t bg=0;
const jerryx_arg_t mapping[] ={
jerryx_arg_int16(&x, JERRYX_ARG_CEIL, JERRYX_ARG_NO_CLAMP, JERRYX_ARG_NO_COERCE, JERRYX_ARG_REQUIRED),
jerryx_arg_int16(&y, JERRYX_ARG_CEIL, JERRYX_ARG_NO_CLAMP, JERRYX_ARG_NO_COERCE, JERRYX_ARG_REQUIRED),
jerryx_arg_ignore(), // TODO process bitmap pointer later
jerryx_arg_int16(&w, JERRYX_ARG_CEIL, JERRYX_ARG_NO_CLAMP, JERRYX_ARG_NO_COERCE, JERRYX_ARG_REQUIRED),
jerryx_arg_int16(&h, JERRYX_ARG_CEIL, JERRYX_ARG_NO_CLAMP, JERRYX_ARG_NO_COERCE, JERRYX_ARG_REQUIRED),
jerryx_arg_uint16(&color, JERRYX_ARG_CEIL, JERRYX_ARG_NO_CLAMP, JERRYX_ARG_NO_COERCE, JERRYX_ARG_REQUIRED),
jerryx_arg_uint16(&bg, JERRYX_ARG_CEIL, JERRYX_ARG_NO_CLAMP, JERRYX_ARG_NO_COERCE, JERRYX_ARG_OPTIONAL),
};
jerry_value_t rv = jerryx_arg_transform_args(args_p, 7, mapping, 2);
if (jerry_value_is_exception(rv)){
WSDEBUG_TPRINTF("[sd1306] drawBitmap mapping Error argc(%d) %x\n",args_cnt,rv);
WSDEBUG_TPRINTF("[sd1306] x%d y%d w%d h%d color%d bg%d \n",x,y,w,h,color,bg);
return rv;
}
Temporary solution to mapping 2items then mapping last 4 items separately.
root cause the jerryx_arg_transform_ignore did not use (void) js_arg_iter_p; / unused /
to skip one args_p item.