From: sheepman Date: 2007-03-12T00:21:57+09:00 Subject: [ruby-dev:30532] DL::PtrData#inspect こんばんは、sheepman です。 DL::PtrData と DL::Symbol の inspect が $ ruby-1.8.5 -rdl -e 'p DL::Symbol.new(0, "a", "I")' # というふうに「0x」を重ねて出力してしまいます。 以下はパッチです。 $ svn diff ptr.c sym.c L -S Index: ptr.c =================================================================== --- ptr.c (revision 12023) +++ ptr.c (working copy) @@ -466,7 +466,7 @@ char str[1024]; Data_Get_Struct(self, struct ptr_data, data); - snprintf(str, 1023, "#<%s:0x%p ptr=0x%p size=%ld free=0x%p>", + 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); return rb_str_new2(str); } Index: sym.c =================================================================== --- sym.c (revision 12023) +++ sym.c (working copy) @@ -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); -- sheepman / TAMURA Takashi sheepman@sheepman.sakura.ne.jp