summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/extmk.rb.in30
-rw-r--r--ext/md5/md5.txt11
-rw-r--r--ext/md5/md5.txt.jp12
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を呼ぶことは文