File: tar-reader.lisp

package info (click to toggle)
acl2 8.6%2Bdfsg-2
  • links: PTS
  • area: main
  • in suites: trixie
  • size: 1,111,420 kB
  • sloc: lisp: 17,818,294; java: 125,359; python: 28,122; javascript: 23,458; cpp: 18,851; ansic: 11,569; perl: 7,678; xml: 5,591; sh: 3,976; makefile: 3,833; ruby: 2,633; yacc: 1,126; ml: 763; awk: 295; csh: 233; lex: 197; php: 178; tcl: 49; asm: 23; haskell: 17
file content (41 lines) | stat: -rw-r--r-- 1,641 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(include-book "../tar-stuff")

(b*
    (((mv & disk-image-location state)
      (getenv$ "DISK" state))
     ((mv fat32$c &)
      (disk-image-to-lofat
       fat32$c disk-image-location state))
     ((mv & val state)
      (getenv$ "TAR_INPUT" state))
     (input-path (path-to-fat32-path (coerce val 'list)))
     ((mv & val state)
      (getenv$ "TAR_OUTPUT" state))
     (output-path (path-to-fat32-path (coerce val 'list)))
     ((mv val error-code &)
      (lofat-lstat fat32$c input-path))
     ((unless (and (fat32-filename-list-p output-path)
                   (equal error-code 0)))
      (mv fat32$c state))
     (file-length (struct-stat->st_size val))
     ((mv fd-table file-table fd &)
      (lofat-open input-path nil nil))
     ((mv file-text file-read-length &)
      (lofat-pread
       fd file-length 0 fat32$c fd-table file-table))
     ((unless (equal file-read-length file-length))
      (mv fat32$c state))
     ((mv state fat32$c fd-table file-table)
      (process-block-sequence file-text state fat32$c fd-table
                              file-table output-path))
     ((mv channel state) (open-output-channel :string :object state))
     (state (print-object$-fn fd-table nil channel state))
     (state (print-object$-fn file-table nil channel state))
     ((mv & str2 state) (get-output-stream-string$ channel state))
     (state (princ$ "fd-table and file-table, respectively, are" *standard-co* state))
     (state (newline *standard-co* state))
     (state (princ$ str2 *standard-co* state))
     ((mv state &)
      (lofat-to-disk-image
       fat32$c disk-image-location state)))
  (mv fat32$c state))