]> code.delx.au - gnu-emacs/blobdiff - lisp/gnus/hex-util.el
*** empty log message ***
[gnu-emacs] / lisp / gnus / hex-util.el
index 51553c2f8d10f84d31fd042f375cbbf4db3e88fa..981516e4b2abad0f7de4ed4fb3d0e6b63ffdaf89 100644 (file)
@@ -1,7 +1,7 @@
 ;;; hex-util.el --- Functions to encode/decode hexadecimal string.
 
 ;; Copyright (C) 1999, 2001, 2002, 2003, 2004,
-;;   2005, 2006 Free Software Foundation, Inc.
+;;   2005, 2006, 2007 Free Software Foundation, Inc.
 
 ;; Author: Shuhei KOBAYASHI <shuhei@aqua.ocn.ne.jp>
 ;; Keywords: data
@@ -10,7 +10,7 @@
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or
+;; published by the Free Software Foundation; either version 3, or
 ;; (at your option) any later version.
 
 ;; This program is distributed in the hope that it will be useful,
 
 (eval-when-compile
   (defmacro hex-char-to-num (chr)
-    (` (let ((chr (, chr)))
-        (cond
-         ((and (<= ?a chr)(<= chr ?f)) (+ (- chr ?a) 10))
-         ((and (<= ?A chr)(<= chr ?F)) (+ (- chr ?A) 10))
-         ((and (<= ?0 chr)(<= chr ?9)) (- chr ?0))
-         (t (error "Invalid hexadecimal digit `%c'" chr))))))
+    `(let ((chr ,chr))
+       (cond
+        ((and (<= ?a chr)(<= chr ?f)) (+ (- chr ?a) 10))
+        ((and (<= ?A chr)(<= chr ?F)) (+ (- chr ?A) 10))
+        ((and (<= ?0 chr)(<= chr ?9)) (- chr ?0))
+        (t (error "Invalid hexadecimal digit `%c'" chr)))))
   (defmacro num-to-hex-char (num)
-    (` (aref "0123456789abcdef" (, num)))))
+    `(aref "0123456789abcdef" ,num)))
 
 (defun decode-hex-string (string)
   "Decode hexadecimal STRING to octet string."
@@ -44,9 +44,9 @@
         (dst (make-string (/ len 2) 0))
         (idx 0)(pos 0))
     (while (< pos len)
-;;; logior and lsh are not byte-coded.
-;;;  (aset dst idx (logior (lsh (hex-char-to-num (aref string pos)) 4)
-;;;                        (hex-char-to-num (aref string (1+ pos)))))
+      ;; logior and lsh are not byte-coded.
+      ;; (aset dst idx (logior (lsh (hex-char-to-num (aref string pos)) 4)
+      ;;                           (hex-char-to-num (aref string (1+ pos)))))
       (aset dst idx (+ (* (hex-char-to-num (aref string pos)) 16)
                       (hex-char-to-num (aref string (1+ pos)))))
       (setq idx (1+ idx)
         (dst (make-string (* len 2) 0))
         (idx 0)(pos 0))
     (while (< pos len)
-;;; logand and lsh are not byte-coded.
-;;;  (aset dst idx (num-to-hex-char (logand (lsh (aref string pos) -4) 15)))
+      ;; logand and lsh are not byte-coded.
+      ;; (aset dst idx (num-to-hex-char (logand (lsh (aref string pos) -4) 15)))
       (aset dst idx (num-to-hex-char (/ (aref string pos) 16)))
       (setq idx (1+ idx))
-;;;  (aset dst idx (num-to-hex-char (logand (aref string pos) 15)))
+      ;; (aset dst idx (num-to-hex-char (logand (aref string pos) 15)))
       (aset dst idx (num-to-hex-char (% (aref string pos) 16)))
       (setq idx (1+ idx)
            pos (1+ pos)))
@@ -71,5 +71,5 @@
 
 (provide 'hex-util)
 
-;;; arch-tag: fe8aaa79-6c86-400e-813f-5a8cc4cb3859
+;; arch-tag: fe8aaa79-6c86-400e-813f-5a8cc4cb3859
 ;;; hex-util.el ends here