зеркало из https://github.com/github/ruby.git
more on NULL versus functions.
Function pointers are not void*. See alsoce4ea956d2
8427fca49b
This commit is contained in:
Родитель
6ed1a5e0e6
Коммит
115fec062c
4
dir.c
4
dir.c
|
@ -2714,7 +2714,7 @@ ruby_glob(const char *path, int flags, ruby_glob_func *func, VALUE arg)
|
|||
{
|
||||
ruby_glob_funcs_t funcs;
|
||||
funcs.match = func;
|
||||
funcs.error = NULL;
|
||||
funcs.error = 0;
|
||||
return ruby_glob0(path, AT_FDCWD, 0, flags & ~GLOB_VERBOSE,
|
||||
&funcs, arg, rb_ascii8bit_encoding());
|
||||
}
|
||||
|
@ -2843,7 +2843,7 @@ ruby_brace_glob_with_enc(const char *str, int flags, ruby_glob_func *func, VALUE
|
|||
|
||||
flags &= ~GLOB_VERBOSE;
|
||||
args.funcs.match = func;
|
||||
args.funcs.error = NULL;
|
||||
args.funcs.error = 0;
|
||||
args.value = arg;
|
||||
args.flags = flags;
|
||||
return ruby_brace_expand(str, flags, glob_brace, (VALUE)&args, enc, Qfalse);
|
||||
|
|
3
dln.c
3
dln.c
|
@ -1254,7 +1254,8 @@ static bool
|
|||
dln_incompatible_library_p(void *handle)
|
||||
{
|
||||
void *ex = dlsym(handle, EXTERNAL_PREFIX"ruby_xmalloc");
|
||||
return ex && ex != ruby_xmalloc;
|
||||
void *const fp = (void *)ruby_xmalloc;
|
||||
return ex && ex != fp;
|
||||
}
|
||||
COMPILER_WARNING_POP
|
||||
#endif
|
||||
|
|
|
@ -98,7 +98,7 @@ rb_universal_newline = {
|
|||
2, /* max_output */
|
||||
asciicompat_converter, /* asciicompat_type */
|
||||
2, universal_newline_init, universal_newline_init, /* state_size, state_init, state_fini */
|
||||
NULL, NULL, NULL, fun_so_universal_newline,
|
||||
0, 0, 0, fun_so_universal_newline,
|
||||
universal_newline_finish
|
||||
};
|
||||
|
||||
|
@ -110,8 +110,8 @@ rb_crlf_newline = {
|
|||
1, /* max_input */
|
||||
2, /* max_output */
|
||||
asciicompat_converter, /* asciicompat_type */
|
||||
0, NULL, NULL, /* state_size, state_init, state_fini */
|
||||
NULL, NULL, NULL, NULL
|
||||
0, 0, 0, /* state_size, state_init, state_fini */
|
||||
0, 0, 0, 0
|
||||
};
|
||||
|
||||
static const rb_transcoder
|
||||
|
@ -122,8 +122,8 @@ rb_cr_newline = {
|
|||
1, /* max_input */
|
||||
1, /* max_output */
|
||||
asciicompat_converter, /* asciicompat_type */
|
||||
0, NULL, NULL, /* state_size, state_init, state_fini */
|
||||
NULL, NULL, NULL, NULL
|
||||
0, 0, 0, /* state_size, state_init, state_fini */
|
||||
0, 0, 0, 0
|
||||
};
|
||||
|
||||
void
|
||||
|
|
|
@ -1966,7 +1966,7 @@ Init_Encoding(void)
|
|||
rb_ary_push(list, enc_new(enc_table.list[i].enc));
|
||||
}
|
||||
|
||||
rb_marshal_define_compat(rb_cEncoding, Qnil, NULL, enc_m_loader);
|
||||
rb_marshal_define_compat(rb_cEncoding, Qnil, 0, enc_m_loader);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
static const rb_data_type_t test_data = {
|
||||
"typed_data",
|
||||
{NULL, ruby_xfree, NULL},
|
||||
{0, ruby_xfree, 0},
|
||||
NULL, NULL,
|
||||
0/* deferred free */,
|
||||
};
|
||||
|
|
2
range.c
2
range.c
|
@ -1569,7 +1569,7 @@ r_cover_range_p(VALUE range, VALUE beg, VALUE end, VALUE val)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
val_max = rb_rescue2(r_call_max, val, NULL, Qnil, rb_eTypeError, (VALUE)0);
|
||||
val_max = rb_rescue2(r_call_max, val, 0, Qnil, rb_eTypeError, (VALUE)0);
|
||||
if (val_max == Qnil) return FALSE;
|
||||
|
||||
return r_less(end, val_max) >= 0;
|
||||
|
|
4
st.c
4
st.c
|
@ -1721,7 +1721,7 @@ int
|
|||
st_foreach(st_table *tab, st_foreach_callback_func *func, st_data_t arg)
|
||||
{
|
||||
const struct functor f = { func, arg };
|
||||
return st_general_foreach(tab, apply_functor, NULL, (st_data_t)&f, FALSE);
|
||||
return st_general_foreach(tab, apply_functor, 0, (st_data_t)&f, FALSE);
|
||||
}
|
||||
|
||||
/* See comments for function st_delete_safe. */
|
||||
|
@ -1729,7 +1729,7 @@ int
|
|||
st_foreach_check(st_table *tab, st_foreach_check_callback_func *func, st_data_t arg,
|
||||
st_data_t never ATTRIBUTE_UNUSED)
|
||||
{
|
||||
return st_general_foreach(tab, func, NULL, arg, TRUE);
|
||||
return st_general_foreach(tab, func, 0, arg, TRUE);
|
||||
}
|
||||
|
||||
/* Set up array KEYS by at most SIZE keys of head table TAB entries.
|
||||
|
|
6
thread.c
6
thread.c
|
@ -488,7 +488,7 @@ static void
|
|||
unblock_function_clear(rb_thread_t *th)
|
||||
{
|
||||
rb_native_mutex_lock(&th->interrupt_lock);
|
||||
th->unblock.func = NULL;
|
||||
th->unblock.func = 0;
|
||||
rb_native_mutex_unlock(&th->interrupt_lock);
|
||||
}
|
||||
|
||||
|
@ -961,7 +961,7 @@ thread_initialize(VALUE thread, VALUE args)
|
|||
}
|
||||
}
|
||||
else {
|
||||
return thread_create_core(thread, args, NULL);
|
||||
return thread_create_core(thread, args, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4582,7 +4582,7 @@ thgroup_memsize(const void *ptr)
|
|||
|
||||
static const rb_data_type_t thgroup_data_type = {
|
||||
"thgroup",
|
||||
{NULL, RUBY_TYPED_DEFAULT_FREE, thgroup_memsize,},
|
||||
{0, RUBY_TYPED_DEFAULT_FREE, thgroup_memsize,},
|
||||
0, 0, RUBY_TYPED_FREE_IMMEDIATELY
|
||||
};
|
||||
|
||||
|
|
|
@ -587,7 +587,7 @@ Init_native_thread(rb_thread_t *th)
|
|||
if (r) condattr_monotonic = NULL;
|
||||
}
|
||||
#endif
|
||||
pthread_key_create(&ruby_native_thread_key, NULL);
|
||||
pthread_key_create(&ruby_native_thread_key, 0);
|
||||
th->thread_id = pthread_self();
|
||||
fill_thread_id_str(th);
|
||||
native_thread_init(th);
|
||||
|
|
|
@ -78,7 +78,7 @@ static const char* rb_mutex_unlock_th(rb_mutex_t *mutex, rb_thread_t *th);
|
|||
*
|
||||
*/
|
||||
|
||||
#define mutex_mark NULL
|
||||
#define mutex_mark ((void(*)(void*))0)
|
||||
|
||||
static size_t
|
||||
rb_mutex_num_waiting(rb_mutex_t *mutex)
|
||||
|
|
4
time.c
4
time.c
|
@ -5314,8 +5314,8 @@ time_mload(VALUE time, VALUE str)
|
|||
get_attr(nano_num, {});
|
||||
get_attr(nano_den, {});
|
||||
get_attr(submicro, {});
|
||||
get_attr(offset, (offset = rb_rescue(validate_utc_offset, offset, NULL, Qnil)));
|
||||
get_attr(zone, (zone = rb_rescue(validate_zone_name, zone, NULL, Qnil)));
|
||||
get_attr(offset, (offset = rb_rescue(validate_utc_offset, offset, 0, Qnil)));
|
||||
get_attr(zone, (zone = rb_rescue(validate_zone_name, zone, 0, Qnil)));
|
||||
get_attr(year, {});
|
||||
|
||||
#undef get_attr
|
||||
|
|
|
@ -895,9 +895,9 @@ static const rb_transcoder
|
|||
#{max_input}, /* max_input */
|
||||
#{max_output}, /* max_output */
|
||||
#{ascii_compatibility}, /* asciicompat_type */
|
||||
0, NULL, NULL, /* state_size, state_init, state_fini */
|
||||
NULL, NULL, NULL, NULL,
|
||||
NULL, NULL, NULL
|
||||
0, 0, 0, /* state_size, state_init, state_fini */
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0
|
||||
};
|
||||
End
|
||||
TRANSCODE_GENERATED_TRANSCODER_CODE << transcoder_code
|
||||
|
|
|
@ -2925,7 +2925,7 @@ econv_memsize(const void *ptr)
|
|||
|
||||
static const rb_data_type_t econv_data_type = {
|
||||
"econv",
|
||||
{NULL, econv_free, econv_memsize,},
|
||||
{0, econv_free, econv_memsize,},
|
||||
0, 0, RUBY_TYPED_FREE_IMMEDIATELY
|
||||
};
|
||||
|
||||
|
|
8
vm.c
8
vm.c
|
@ -2383,7 +2383,7 @@ vm_memsize(const void *ptr)
|
|||
|
||||
static const rb_data_type_t vm_data_type = {
|
||||
"VM",
|
||||
{NULL, NULL, vm_memsize,},
|
||||
{0, 0, vm_memsize,},
|
||||
0, 0, RUBY_TYPED_FREE_IMMEDIATELY
|
||||
};
|
||||
|
||||
|
@ -3666,9 +3666,9 @@ usage_analysis_register_clear(VALUE self)
|
|||
|
||||
#else
|
||||
|
||||
MAYBE_UNUSED(static void (*ruby_vm_collect_usage_func_insn)(int insn)) = NULL;
|
||||
MAYBE_UNUSED(static void (*ruby_vm_collect_usage_func_operand)(int insn, int n, VALUE op)) = NULL;
|
||||
MAYBE_UNUSED(static void (*ruby_vm_collect_usage_func_register)(int reg, int isset)) = NULL;
|
||||
MAYBE_UNUSED(static void (*ruby_vm_collect_usage_func_insn)(int insn)) = 0;
|
||||
MAYBE_UNUSED(static void (*ruby_vm_collect_usage_func_operand)(int insn, int n, VALUE op)) = 0;
|
||||
MAYBE_UNUSED(static void (*ruby_vm_collect_usage_func_register)(int reg, int isset)) = 0;
|
||||
|
||||
#endif
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче