Function: erc-pack-int
erc-pack-int is a byte-compiled function defined in erc-dcc.el.gz.
Signature
(erc-pack-int VALUE)
Documentation
Convert integer into a packed string in network byte order, which is big-endian.
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc-dcc.el.gz
(defun erc-pack-int (value)
"Convert integer into a packed string in network byte order, which is big-endian."
;; make sure value is not negative
(when (< value 0)
(error "ERC-DCC (erc-pack-int): packet size is negative"))
;; make sure size is not larger than 4 bytes
(let ((len (if (= value 0) 0
(ceiling (/ (ceiling (/ (log value) (log 2))) 8.0)))))
(when (> len 4)
(error "ERC-DCC (erc-pack-int): packet too large")))
;; pack
(let ((str (make-string 4 0))
(i 3))
(while (and (>= i 0) (> value 0))
(aset str i (% value 256))
(setq value (/ value 256))
(setq i (1- i)))
str))