Commit 0353f9e1 authored by Karl Heuer's avatar Karl Heuer
Browse files

(nnheader-insert-head): Make sure the entire head of

the article is inserted.
parent 62c19f31
......@@ -188,14 +188,23 @@
(set (car (car state)) (nth 1 (car state)))
(setq state (cdr state))))
;; Read the head of an article.
(defvar nnheader-max-head-length 4096
"The maximum length of a HEAD.")
(defun nnheader-insert-head (file)
(let ((beg 0)
(chop 1024))
(while (and (eq chop (nth 1 (nnheader-insert-file-contents-literally
file nil beg (setq beg (+ chop beg)))))
(prog1 (not (search-backward "\n\n" nil t))
(goto-char (point-max)))))))
"Insert the head of the article."
(if (eq nnheader-max-head-length t)
;; Just read the entire file.
(insert-file-contents-literally file)
;; Read 1K blocks until we find a separator.
(let ((beg 0)
(chop 1024))
(while (and (eq chop (nth 1 (insert-file-contents-literally
file nil beg (setq beg (+ beg chop)))))
(prog1 (not (search-forward "\n\n" nil t))
(goto-char (point-max)))
(or (null nnheader-max-head-length)
(< beg nnheader-max-head-length)))))))
(defun nnheader-article-p ()
(goto-char (point-min))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment