Don't provide the sha1-dl feature twice.
[elisp/flim.git] / sha1-dl.el
index 4716d4d..5e21dc3 100644 (file)
@@ -1,6 +1,6 @@
 ;;; sha1-dl.el --- SHA1 Secure Hash Algorithm using DL module.
 
-;; Copyright (C) 1999, 2001  Free Software Foundation, Inc.
+;; Copyright (C) 1999, 2001, 2004  Free Software Foundation, Inc.
 
 ;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
 ;; Keywords: SHA1, FIPS 180-1
 ;;; sha1-dl-module provides `sha1-string' and `sha1-binary'.
 (dynamic-call "emacs_sha1_init" sha1-dl-handle)
 
-(defun sha1-region (beg end)
-  (sha1-string (buffer-substring-no-properties beg end)))
+(defun sha1-region (beg end &optional binary)
+  (if binary
+      (sha1-binary (buffer-substring-no-properties beg end))
+    (sha1-string (buffer-substring-no-properties beg end))))
 
-(defun sha1 (object &optional beg end)
+(defun sha1 (object &optional beg end binary)
   "Return the SHA1 (Secure Hash Algorithm) of an object.
 OBJECT is either a string or a buffer.
 Optional arguments BEG and END denote buffer positions for computing the
-hash of a portion of OBJECT."
+hash of a portion of OBJECT.
+If BINARY is non-nil, return a string in binary form."
   (if (stringp object)
-      (sha1-string object)
+      (if binary
+         (sha1-binary object)
+       (sha1-string object))
     (save-excursion
       (set-buffer object)
-      (sha1-region (or beg (point-min)) (or end (point-max))))))
-
-(provide 'sha1-dl)
+      (sha1-region (or beg (point-min)) (or end (point-max)) binary))))
 
 ;;; sha1-dl.el ends here