From 11fd9224f784a2e1904cd9cc573c926d072c56e1 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 9 Jun 2009 06:11:10 +0000 Subject: * dir.c (sys_warning): get rid of type-punning function cast. * dir.c (ruby_glob0): get rid of possible overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- dir.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'dir.c') diff --git a/dir.c b/dir.c index 7ded65420b..e0be174f6b 100644 --- a/dir.c +++ b/dir.c @@ -910,15 +910,16 @@ dir_s_rmdir(VALUE obj, VALUE dir) return INT2FIX(0); } -static void -sys_warning_1(const char* mesg) +static VALUE +sys_warning_1(VALUE mesg) { - rb_sys_warning("%s", mesg); + rb_sys_warning("%s", (const char *)mesg); + return Qnil; } -#define GLOB_VERBOSE (1UL << (sizeof(int) * CHAR_BIT - 1)) +#define GLOB_VERBOSE (1U << (sizeof(int) * CHAR_BIT - 1)) #define sys_warning(val) \ - (void)((flags & GLOB_VERBOSE) && rb_protect((VALUE (*)(VALUE))sys_warning_1, (VALUE)(val), 0)) + (void)((flags & GLOB_VERBOSE) && rb_protect(sys_warning_1, (VALUE)(val), 0)) #define GLOB_ALLOC(type) (type *)malloc(sizeof(type)) #define GLOB_ALLOC_N(type, n) (type *)malloc(sizeof(type) * (n)) @@ -1383,7 +1384,7 @@ ruby_glob0(const char *path, int flags, ruby_glob_func *func, VALUE arg, rb_enco struct glob_pattern *list; const char *root, *start; char *buf; - int n; + size_t n; int status; start = root = path; -- cgit v1.2.3