четверг, 21 мая 2009 г.

Немного отвлекся от Common LISP и наваял первую наивную прогу на Emacs Lisp :)

Берет бинарный файл, и оформляет в виде C-шного массива:


(defun file-to-c-array (filename)
"convert a binary file into a C array of characters"
(interactive "fFile Name: ")
(let* ((buf (find-file-noselect filename))
(oldbuf (current-buffer)))
(save-excursion
(insert "\nconst unsigned char key[] = {")
(set-buffer buf)
(beginning-of-buffer)
(let ((i 0))
(while (not (eobp))
(let* ((c (following-char)))
(forward-char)
(set-buffer oldbuf)
(when (zerop (mod i 8))
(insert "\n\t"))
(incf i)
(insert (format "0x%x, " c))
(set-buffer buf))))
(set-buffer oldbuf)
(delete-backward-char 2)
(insert "\n};\n"))))

Комментариев нет:

Отправить комментарий