зеркало из https://github.com/github/ruby.git
Add errno_ptr property for Universal Parser
This commit is contained in:
Родитель
02973b78f4
Коммит
4374236e95
|
@ -450,6 +450,12 @@ ruby_verbose2(void)
|
|||
return ruby_verbose;
|
||||
}
|
||||
|
||||
static int *
|
||||
rb_errno_ptr2(void)
|
||||
{
|
||||
return rb_errno_ptr();
|
||||
}
|
||||
|
||||
static int
|
||||
type_p(VALUE obj, int t)
|
||||
{
|
||||
|
@ -724,6 +730,7 @@ rb_parser_config_initialize(rb_parser_config_t *config)
|
|||
config->bug = rb_bug;
|
||||
config->fatal = rb_fatal;
|
||||
config->verbose = ruby_verbose2;
|
||||
config->errno_ptr = rb_errno_ptr2;
|
||||
|
||||
config->make_backtrace = rb_make_backtrace;
|
||||
|
||||
|
|
|
@ -1352,6 +1352,7 @@ typedef struct rb_parser_config_struct {
|
|||
void (*bug)(const char *fmt, ...);
|
||||
void (*fatal)(const char *fmt, ...);
|
||||
VALUE (*verbose)(void);
|
||||
int *(*errno_ptr)(void);
|
||||
|
||||
/* VM */
|
||||
VALUE (*make_backtrace)(void);
|
||||
|
|
|
@ -331,6 +331,8 @@ struct rb_imemo_tmpbuf_struct {
|
|||
#define rb_fatal p->config->fatal
|
||||
#undef ruby_verbose
|
||||
#define ruby_verbose p->config->verbose()
|
||||
#undef errno
|
||||
#define errno (*p->config->errno_ptr())
|
||||
|
||||
#define rb_make_backtrace p->config->make_backtrace
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче