diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/extmk.rb.in | 30 | ||||
-rw-r--r-- | ext/md5/md5.txt | 11 | ||||
-rw-r--r-- | ext/md5/md5.txt.jp | 12 |
3 files changed, 39 insertions, 14 deletions
diff --git a/ext/extmk.rb.in b/ext/extmk.rb.in index c97f86a687..272a508e0f 100644 --- a/ext/extmk.rb.in +++ b/ext/extmk.rb.in @@ -218,29 +218,31 @@ SRC return true end -def have_func(func) +def have_func(func, header=nil) libs = $libs - - if /mswin32|mingw/ =~ RUBY_PLATFORM - r = try_link(<<"SRC", libs) + src = + if /mswin32|mingw/ =~ RUBY_PLATFORM + r = <<"SRC" #include <windows.h> #include <winsock.h> +SRC + else + "" + end + unless header.nil? + src << <<"SRC" +#include <#{header}> +SRC + end + r = try_link(src + <<"SRC", libs) int main() { return 0; } int t() { #{func}(); return 0; } SRC - unless r - r = try_link(<<"SRC", libs) -#include <windows.h> -#include <winsock.h> + unless r + r = try_link(src + <<"SRC", libs) int main() { return 0; } int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; } SRC - end - else - r = try_link(<<"SRC", libs) -int main() { return 0; } -int t() { #{func}(); return 0; } -SRC end unless r return false diff --git a/ext/md5/md5.txt b/ext/md5/md5.txt index 0eca7c9025..e2b072401b 100644 --- a/ext/md5/md5.txt +++ b/ext/md5/md5.txt @@ -25,6 +25,17 @@ Methods: returns have value of the added strings as a 16 bytes string. + hexdigest + + returns have value of the added strings as an 32 bytes ASCII + string. This method is equal to: + + def hexdigest + ret = '' + digest.each_byte {|i| ret << sprintf('%02x', i) } + ret + end + update(str) Update the MD5 object with the string. Repeated calls are diff --git a/ext/md5/md5.txt.jp b/ext/md5/md5.txt.jp index a1451f1175..04cf32908d 100644 --- a/ext/md5/md5.txt.jp +++ b/ext/md5/md5.txt.jp @@ -26,6 +26,18 @@ Methods: 今までに追加した文字列に対するハッシュ値を16バイト長の文字列で 返す. + hexdigest + + 今までに追加した文字列に対するハッシュ値を、ASCIIコードを使って + 16進数の列を示す'fe5c2235f48d2bcc911afabea23cd5aa'のような32文字 + の文字列にエンコードして返す。Rubyで書くと以下と同じ。 + + def hexdigest + ret = '' + digest.each_byte {|i| ret << sprintf('%02x', i) } + ret + end + update(str) MD5オブジェクトに文字列を追加する。複数回updateを呼ぶことは文 |