Commit 1ca4fdc4 authored by dearblue's avatar dearblue

Fix keyword arguments not be obtained with `mrb_get_args()`; Fix #4754

If ":" is after "|" and there is no "?" or "*", the keyword argument
could not be obtained and it was not initialized with `undef`.

For example: "|oo:"
parent 6e5c861f
...@@ -620,11 +620,11 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) ...@@ -620,11 +620,11 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
goto check_exit; goto check_exit;
case '!': case '!':
break; break;
case '&': case '?':
if (opt) opt_skip = FALSE;
break;
case ':': case ':':
reqkarg = TRUE; reqkarg = TRUE;
/* fall through */
case '&': case '?':
if (opt) opt_skip = FALSE;
break; break;
default: default:
if (!opt) needargc ++; if (!opt) needargc ++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment