File: cp-replicant.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 (33 lines) | stat: -rw-r--r-- 993 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
(include-book "../test-stuff")

(b*
    (((mv & val state)
      (getenv$ "DISK" state))
     ((mv fat32$c &)
      (disk-image-to-lofat
       fat32$c val state))
     ((mv & val state)
      (getenv$ "CP_OUTPUT" state))
     ((mv channel state)
      (open-output-channel val :character state))
     ((mv & val state)
      (getenv$ "CP_INPUT" state))
     (fat32-path (path-to-fat32-path (coerce val 'list)))
     ((mv val error-code &)
      (lofat-lstat fat32$c fat32-path))
     ((unless (equal error-code 0))
      (mv fat32$c state))
     (file-length (struct-stat->st_size val))
     ((mv fd-table file-table fd &)
      (lofat-open fat32-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))
     (state
      (princ$
       file-text
       channel state))
     (state (close-output-channel channel state)))
  (mv fat32$c state))