From: pegacorn Date: 2007-07-21T22:09:45+09:00 Subject: [ruby-dev:31268] Re: ruby_1_8: バグを指摘している警告 ----Security_Multipart(Sat_Jul_21_22_04_51_2007_313)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit From: pegacorn Date: Sat, 14 Jul 2007 20:00:01 +0900 Message-Id: <20070714.195544.63132606.subscriber.jp@gmail.com> /~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > trunk で -Wall を付けてコンパイルしてみると、バグを指摘している警告が > いくつか見付かりました。 今度は、ruby_1_8 です。 (trunk で指摘したものは除く) // FreeBSD compiling dl gcc -I. -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -I. -fPIC -g -O2 -Wall -fno-defer-pop -fno-omit-frame-pointer -c ptr.c ptr.c: In function `rb_dlptr_inspect': ptr.c:470: warning: unsigned int format, pointer arg (arg 5) ptr.c:470: warning: unsigned int format, pointer arg (arg 6) ptr.c:470: warning: unsigned int format, freefunc_t arg (arg 8) gcc -I. -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR -I. -fPIC -g -O2 -Wall -fno-defer-pop -fno-omit-frame-pointer -c sym.c sym.c: In function `rb_dlsym_inspect': sym.c:272: warning: unsigned int format, pointer arg (arg 4) sym.c:272: warning: unsigned int format, pointer arg (arg 5) // Cygwin compiling win32ole gcc -I. -I../.. -I../../. -I../.././ext/win32ole -DNONAMELESSUNION -DHAVE_WINDOWS_H -g -O2 -Wall -c win32ole.c win32ole.c: In function `ole_hresult2msg': win32ole.c:500: warning: unsigned int format, HRESULT arg (arg 3) win32ole.c:4037: warning: return type defaults to `int' win32ole.c:4081: warning: return type defaults to `int' win32ole.c:4117: warning: return type defaults to `int' win32ole.c:4163: warning: return type defaults to `int' win32ole.c:4635: warning: return type defaults to `int' Index: ext/dl/ptr.c =================================================================== --- ext/dl/ptr.c (リビジョン 12820) +++ ext/dl/ptr.c (作業コピー) @@ -466,8 +466,9 @@ char str[1024]; Data_Get_Struct(self, struct ptr_data, data); - snprintf(str, 1023, "#<%s:0x%x ptr=0x%x size=%ld free=0x%x>", - rb_class2name(CLASS_OF(self)), data, data->ptr, data->size, data->free); + snprintf(str, 1023, "#<%s:0x%lx ptr=0x%lx size=%ld free=0x%lx>", + rb_class2name(CLASS_OF(self)), data, data->ptr, data->size, + (long)data->free); return rb_str_new2(str); } Index: ext/dl/sym.c =================================================================== --- ext/dl/sym.c (リビジョン 12820) +++ ext/dl/sym.c (作業コピー) @@ -268,7 +268,7 @@ str_size = RSTRING(proto)->len + 100; str = dlmalloc(str_size); snprintf(str, str_size - 1, - "#", + "#", sym, sym->func, RSTRING(proto)->ptr); val = rb_tainted_str_new2(str); dlfree(str); Index: ext/win32ole/win32ole.c =================================================================== --- ext/win32ole/win32ole.c (revision 12820) +++ ext/win32ole/win32ole.c (working copy) @@ -497,7 +497,7 @@ DWORD dwCount; char strhr[100]; - sprintf(strhr, " HRESULT error code:0x%08x\n ", hr); + sprintf(strhr, " HRESULT error code:0x%08lx\n ", hr); msg = rb_str_new2(strhr); dwCount = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | @@ -4033,7 +4033,8 @@ return rb_ivar_get(self, rb_intern("name")); } -static ole_variable_ole_type(pTypeInfo, var_index) +static VALUE +ole_variable_ole_type(pTypeInfo, var_index) ITypeInfo *pTypeInfo; UINT var_index; { @@ -4077,7 +4078,8 @@ return ole_variable_ole_type(pvar->pTypeInfo, pvar->index); } -static ole_variable_ole_type_detail(pTypeInfo, var_index) +static VALUE +ole_variable_ole_type_detail(pTypeInfo, var_index) ITypeInfo *pTypeInfo; UINT var_index; { @@ -4113,7 +4115,8 @@ return ole_variable_ole_type_detail(pvar->pTypeInfo, pvar->index); } -static ole_variable_value(pTypeInfo, var_index) +static VALUE +ole_variable_value(pTypeInfo, var_index) ITypeInfo *pTypeInfo; UINT var_index; { @@ -4159,7 +4162,8 @@ return ole_variable_value(pvar->pTypeInfo, pvar->index); } -static ole_variable_visible(pTypeInfo, var_index) +static VALUE +ole_variable_visible(pTypeInfo, var_index) ITypeInfo *pTypeInfo; UINT var_index; { @@ -4631,7 +4635,8 @@ return ole_method_visible(pmethod->pTypeInfo, pmethod->index); } -static ole_method_event(pTypeInfo, method_index, method_name) +static VALUE +ole_method_event(pTypeInfo, method_index, method_name) ITypeInfo *pTypeInfo; WORD method_index; VALUE method_name; -- pegacorn PGP Key ID: 0x07BDE0A2 Key fingerprint: 4359 23BA 7BFC 2457 7E76 EB0A 2D67 E840 07BD E0A2 ----Security_Multipart(Sat_Jul_21_22_04_51_2007_313)-- Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQBGogR5LWfoQAe94KIRAvLSAKCYcAR18wUjcv2RzlHoMkTTdys/FgCglhSJ sJ0bxZGS8kBLAnvuKjpnJsU= =YHdI -----END PGP SIGNATURE----- ----Security_Multipart(Sat_Jul_21_22_04_51_2007_313)----