diff options
| author | Hisham Muhammad <hisham@gobolinux.org> | 2015-09-22 13:23:04 -0300 |
|---|---|---|
| committer | Hisham Muhammad <hisham@gobolinux.org> | 2015-09-22 13:24:04 -0300 |
| commit | 8cad664aade89612f67dd99987fa036606c453e7 (patch) | |
| tree | ee58fffa26a218969c99d3dd770e02937c3f2a23 /src | |
| parent | 65718de85ce69ac97b9b454953ce48b29bc3a674 (diff) | |
| download | luarocks-8cad664aade89612f67dd99987fa036606c453e7.tar.gz luarocks-8cad664aade89612f67dd99987fa036606c453e7.tar.bz2 luarocks-8cad664aade89612f67dd99987fa036606c453e7.zip | |
Fix merge conflict.
Diffstat (limited to 'src')
| -rw-r--r-- | src/luarocks/tools/tar.lua | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/luarocks/tools/tar.lua b/src/luarocks/tools/tar.lua index 03f7de3c..cedcceee 100644 --- a/src/luarocks/tools/tar.lua +++ b/src/luarocks/tools/tar.lua | |||
| @@ -31,9 +31,10 @@ local function octal_to_number(octal) | |||
| 31 | local number = 0 | 31 | local number = 0 |
| 32 | for i = #octal,1,-1 do | 32 | for i = #octal,1,-1 do |
| 33 | local digit = tonumber(octal:sub(i,i)) | 33 | local digit = tonumber(octal:sub(i,i)) |
| 34 | if not digit then break end | 34 | if digit then |
| 35 | number = number + (digit * 8^exp) | 35 | number = number + (digit * 8^exp) |
| 36 | exp = exp + 1 | 36 | exp = exp + 1 |
| 37 | end | ||
| 37 | end | 38 | end |
| 38 | return number | 39 | return number |
| 39 | end | 40 | end |
| @@ -56,10 +57,11 @@ end | |||
| 56 | local function read_header_block(block) | 57 | local function read_header_block(block) |
| 57 | local header = {} | 58 | local header = {} |
| 58 | header.name = nullterm(block:sub(1,100)) | 59 | header.name = nullterm(block:sub(1,100)) |
| 59 | header.mode = nullterm(block:sub(101,108)) | 60 | header.mode = nullterm(block:sub(101,108)):gsub(" ", "") |
| 60 | header.uid = octal_to_number(nullterm(block:sub(109,116))) | 61 | header.uid = octal_to_number(nullterm(block:sub(109,116))) |
| 61 | header.gid = octal_to_number(nullterm(block:sub(117,124))) | 62 | header.gid = octal_to_number(nullterm(block:sub(117,124))) |
| 62 | header.size = octal_to_number(nullterm(block:sub(125,136))) | 63 | header.size = octal_to_number(nullterm(block:sub(125,136))) |
| 64 | print("{"..block:sub(125,136).."}", "{"..nullterm(block:sub(125,136)).."}", "{"..octal_to_number(nullterm(block:sub(125,136))).."}", header.size) | ||
| 63 | header.mtime = octal_to_number(nullterm(block:sub(137,148))) | 65 | header.mtime = octal_to_number(nullterm(block:sub(137,148))) |
| 64 | header.chksum = octal_to_number(nullterm(block:sub(149,156))) | 66 | header.chksum = octal_to_number(nullterm(block:sub(149,156))) |
| 65 | header.typeflag = get_typeflag(block:sub(157,157)) | 67 | header.typeflag = get_typeflag(block:sub(157,157)) |
| @@ -93,13 +95,14 @@ function tar.untar(filename, destdir) | |||
| 93 | local long_name, long_link_name | 95 | local long_name, long_link_name |
| 94 | while true do | 96 | while true do |
| 95 | local block | 97 | local block |
| 96 | repeat | 98 | repeat |
| 97 | block = tar_handle:read(blocksize) | 99 | block = tar_handle:read(blocksize) |
| 98 | until (not block) or checksum_header(block) > 256 | 100 | until (not block) or checksum_header(block) > 256 |
| 99 | if not block then break end | 101 | if not block then break end |
| 100 | local header, err = read_header_block(block) | 102 | local header, err = read_header_block(block) |
| 101 | if not header then | 103 | if not header then |
| 102 | util.printerr(err) | 104 | util.printerr(err) |
| 105 | return nil, err | ||
| 103 | end | 106 | end |
| 104 | 107 | ||
| 105 | local file_data = tar_handle:read(math.ceil(header.size / blocksize) * blocksize):sub(1,header.size) | 108 | local file_data = tar_handle:read(math.ceil(header.size / blocksize) * blocksize):sub(1,header.size) |
| @@ -143,6 +146,7 @@ function tar.untar(filename, destdir) | |||
| 143 | util.printout() | 146 | util.printout() |
| 144 | --]] | 147 | --]] |
| 145 | end | 148 | end |
| 149 | tar_handle:close() | ||
| 146 | return true | 150 | return true |
| 147 | end | 151 | end |
| 148 | 152 | ||
