refactor(sterni/mblog): move REDIRECT-STREAM into mime4cl
Eventually, we'll want to replace dump-stream-binary with something more efficient—given that we have flexi-streams we can use something that only does matching element types no problem. REDIRECT-STREAM is much more efficient thanks to using an internal buffer. streams.lisp gets a new section at the beginning for grouping utilities that don't have any real (internal) dependencies. Change-Id: I141cd36440d532131f389be2768fdaa54e7c7218 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8583 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
This commit is contained in:
		
							parent
							
								
									734cec2e3b
								
							
						
					
					
						commit
						a06e30e73b
					
				
					 4 changed files with 23 additions and 18 deletions
				
			
		|  | @ -26,14 +26,6 @@ | |||
|                            :if-does-not-exist :create) | ||||
|      ,@body)) | ||||
| 
 | ||||
| (defun redirect-stream (in out) | ||||
|   "Consume input stream IN and write all its content to output stream OUT. | ||||
|   The streams' element types need to match." | ||||
|   (let ((buf (make-array config:*general-buffer-size* :element-type (stream-element-type in)))) | ||||
|     (loop for pos = (read-sequence buf in) | ||||
|           while (> pos 0) | ||||
|           do (write-sequence buf out :end pos)))) | ||||
| 
 | ||||
| ;; CSS | ||||
| 
 | ||||
| (defvar *style* " | ||||
|  | @ -98,7 +90,8 @@ a:link, a:visited { | |||
|         (with-overwrite-file (attachment-out attachment-dst | ||||
|                               :element-type | ||||
|                               (stream-element-type attachment-in)) | ||||
|           (redirect-stream attachment-in attachment-out))))) | ||||
|           (redirect-stream attachment-in attachment-out | ||||
|                            :buffer-size *general-buffer-size*))))) | ||||
| 
 | ||||
|   (values)) | ||||
| 
 | ||||
|  |  | |||
|  | @ -50,6 +50,7 @@ | |||
|    :config) | ||||
|   (:export :build-mblog) | ||||
|   (:import-from :local-time :universal-to-timestamp) | ||||
|   (:import-from :mime4cl :redirect-stream) | ||||
|   (:shadowing-import-from :common-lisp :list)) | ||||
| 
 | ||||
| (defpackage :cli | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue