Browse Source

Updated README to include libmtar documentation and added type annotations to libmtar

master
XeonSquared 6 months ago
parent
commit
f7ee3e3250
2 changed files with 10 additions and 1 deletions
  1. +9
    -0
      mtar/README.md
  2. +1
    -1
      mtar/libmtar.lua

+ 9
- 0
mtar/README.md View File

@@ -12,3 +12,12 @@ mtar archive files consist of a number of file entries, in the following format:
- the file contents

Archives are terminated either by the end of file, or a record with a name length of zero.

## libmtar

libmtar is the reference implementation of mtar. It provides two functions:

- `libmtar.genHeader(string: name, number: len): string`
Generates an mtar file header for a file called *name* that is *len* bytes long.
- `libmtar.iter(table: stream): function`
Given buffer *stream*, returns an iterator suitable for use with *for* that returns, for each iteration, the file name, a function to read from the file, and the length of the file.

+ 1
- 1
mtar/libmtar.lua View File

@@ -19,7 +19,7 @@ local function cint(n,l)
return string.reverse(string.char(table.unpack(t)):sub(1,l))
end

function mtar.genHeader(fname,len) -- generate a header for file *fname* when provided with file length *len*
function mtar.genHeader(fname,len) -- string number -- string -- Generates an mtar file header for a file called *name* that is *len* bytes long.
return string.format("%s%s%s",cint(fname:len(),2),fname,cint(len,2))
end



Loading…
Cancel
Save