Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
cl-tar
cl-tar-file
Commits
9786f56b
Commit
9786f56b
authored
Sep 20, 2021
by
Eric Timmons
Browse files
Expose PREFIX when writing entries
parent
540e158a
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/entry.lisp
View file @
9786f56b
...
...
@@ -27,8 +27,9 @@
(
:documentation
"A regular file."
))
(
defmethod
write-file-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
size
data
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
))
(
defmethod
write-file-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
size
data
prefix
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
prefix
))
;; Compute the size when necessary.
(
let
((
computed-size
(
etypecase
data
...
...
@@ -75,8 +76,8 @@
(
:documentation
"A hard link."
))
(
defmethod
write-hard-link-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
linkname
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
linkname
))
(
defmethod
write-hard-link-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
linkname
prefix
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
linkname
prefix
))
(
let
((
header
(
apply
#'
make-instance
(
header-type
tar-file
)
:name
name
:typeflag
+tar-hard-link+
...
...
@@ -90,8 +91,8 @@
(
:documentation
"A symbolic link."
))
(
defmethod
write-symbolic-link-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
linkname
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
linkname
))
(
defmethod
write-symbolic-link-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
linkname
prefix
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
linkname
prefix
))
(
let
((
header
(
apply
#'
make-instance
(
header-type
tar-file
)
:name
name
:typeflag
+tar-symbolic-link+
...
...
@@ -106,8 +107,9 @@
"A character device."
))
(
defmethod
write-character-device-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
devmajor
devminor
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
devmajor
devminor
))
devmajor
devminor
prefix
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
devmajor
devminor
prefix
))
(
let
((
header
(
apply
#'
make-instance
(
header-type
tar-file
)
:name
name
:typeflag
+tar-character-device+
...
...
@@ -122,8 +124,9 @@
"A block device."
))
(
defmethod
write-block-device-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
devmajor
devminor
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
devmajor
devminor
))
devmajor
devminor
prefix
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
devmajor
devminor
prefix
))
(
let
((
header
(
apply
#'
make-instance
(
header-type
tar-file
)
:name
name
:typeflag
+tar-block-device+
...
...
@@ -152,8 +155,8 @@
(
:documentation
"A FIFO."
))
(
defmethod
write-fifo-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
))
(
defmethod
write-fifo-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
prefix
)
(
declare
(
ignore
uname
gname
mode
mtime
uid
gid
prefix
))
(
let
((
header
(
apply
#'
make-instance
(
header-type
tar-file
)
:name
name
:typeflag
+tar-fifo-device+
...
...
src/generics.lisp
View file @
9786f56b
...
...
@@ -187,7 +187,8 @@ interpreted as in WRITE-ENTRY."))
(
:documentation
"Perform any necessary processing for finalizing TAR-FILE.
This function must be called prior to calling CLOSE-TAR-FILE."
))
(
defgeneric
write-file-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
size
data
)
(
defgeneric
write-file-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
size
data
prefix
)
(
:documentation
"Write a FILE-ENTRY to TAR-FILE.
...
...
@@ -195,21 +196,23 @@ DATA can be either NIL (no data is written), an octet vector (written as is), a
string (encoded using UTF-8 and written), or a PATHNAME (opened, read, and
written to the archive)."
))
(
defgeneric
write-hard-link-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
linkname
)
(
defgeneric
write-hard-link-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
linkname
prefix
)
(
:documentation
"Write a HARD-LINK-ENTRY to TAR-FILE."
))
(
defgeneric
write-symbolic-link-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
linkname
)
(
defgeneric
write-symbolic-link-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
linkname
prefix
)
(
:documentation
"Write a SYMBOLIC-LINK-ENTRY to TAR-FILE."
))
(
defgeneric
write-character-device-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
devmajor
devminor
)
devmajor
devminor
prefix
)
(
:documentation
"Write a CHARACTER-DEVICE-ENTRY to TAR-FILE."
))
(
defgeneric
write-block-device-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
devmajor
devminor
)
devmajor
devminor
prefix
)
(
:documentation
"Write a BLOCK-DEVICE-ENTRY to TAR-FILE."
))
...
...
@@ -217,7 +220,7 @@ written to the archive)."))
(
:documentation
"Write a DIRECTORY-ENTRY to TAR-FILE."
))
(
defgeneric
write-fifo-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
)
(
defgeneric
write-fifo-entry
(
tar-file
name
&rest
args
&key
uname
gname
mode
mtime
uid
gid
prefix
)
(
:documentation
"Write a FIFO-ENTRY to TAR-FILE."
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment