#!/usr/local/bin/scsh \ -e main -s Tells what format text files are in on stdout. 2001-09-29 Detect Mac format as well. 2002-09-09 !# (define (get-line-delimiter port) (define cr (ascii->char 13)) (define lf (ascii->char 10)) (let lp () (let ((c (read-char port))) (cond ((eof-object? c) 'Unknown) ((char=? c lf) 'Unix) ((char=? c cr) (if (eqv? (peek-char port) lf) 'DOS 'Mac)) (else (lp)))))) (define (main args) (if (zero? (length (cdr args))) (format (error-output-port) "Usage: ~a {files}\n" (car args))) (for-each (lambda (filename) (format #t "~a: ~a~%" filename (if (file-regular? filename) (with-errno-handler ((errno packet) (else (car packet))) (close-after (open-input-file filename) (lambda (port) (get-line-delimiter port)))) "not a regular file"))) (cdr args))) ;; Local Variables: ;; mode: scheme ;; End: