]> git.seodisparate.com - SimpleArchiver/commitdiff
Revise file_format.md
authorStephen Seo <seo.disparate@gmail.com>
Sun, 7 Jul 2024 05:43:32 +0000 (14:43 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Wed, 10 Jul 2024 09:59:00 +0000 (18:59 +0900)
Specify how symlink paths should be handled if they do not exist (path
size of 0).

file_format.md

index 5fda53b4d6adc56c0867ccbd8927cc9268d689eb..83ffa9ec6e196d0169594444eacce95c80595990 100644 (file)
@@ -50,10 +50,16 @@ Following the file-count bytes, the following bytes are added for each file:
     4. The fourth byte.
         1. Currently unused.
 4. If this file is a symbolic link:
-    1. 2 bytes is 16-bit unsigned integer "link target path" in big-endian. This
-       does not include the NULL at the end of the string.
-    2. X bytes of link-target-path (length defined by previous value). Is a
-       NULL-terminated string.
+    1. 2 bytes is 16-bit unsigned integer "link target absolute path" in
+       big-endian. This does not include the NULL at the end of the string.
+    2. X bytes of link-target-absolute-path (length defined by previous value).
+       Is a NULL-terminated string. If the previous "size" value is 0, then
+       this entry does not exist and should be skipped.
+    3. 2 bytes is 16-bit unsigned integer "link target relative path" in
+       big-endian. This does not include the NULL at the end of the string.
+    4. X bytes of link-target-relative-path (length defined by previous value).
+       Is a NULL-terminated string. If the previous "size" value is 0, then
+       this entry does not exist and should be skipped.
 5. If this file is NOT a symbolic link:
     1. 8 bytes 64-bit unsigned integer "size of filename in this archive file".
     2. X bytes file data (length defined by previous value).