Function: erc-unpack-int

erc-unpack-int is a byte-compiled function defined in erc-dcc.el.gz.

Signature

(erc-unpack-int STR)

Documentation

Unpack a packed string into an integer.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-dcc.el.gz
(defun erc-unpack-int (str)
  "Unpack a packed string into an integer."
  (let ((len (length str)))
    ;; strip leading 0-bytes
    (let ((start 0))
      (while (and (> len start) (eq (aref str start) 0))
        (setq start (1+ start)))
      (when (> start 0)
        (setq str (substring str start))
        (setq len (- len start))))
    ;; unpack
    (let ((num 0)
          (count 0))
      (while (< count len)
        (setq num (+ num (ash (aref str (- len count 1)) (* 8 count))))
        (setq count (1+ count)))
      num)))