Synchronized with flim-1_14_8
[elisp/flim.git] / sha1-dl.el
index 4716d4d..1da5481 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
@@ -19,8 +19,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with this program; see the file COPYING.  If not, write to
-;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
 ;;; 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