aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorge Roman <george.roman.99@gmail.com>2018-06-13 20:09:07 +0300
committerHisham Muhammad <hisham@gobolinux.org>2018-06-14 14:14:44 -0300
commitc01c8a21a735c3a74270635e5bd843bac71bc624 (patch)
tree64218be890422d910632e0260bf4c48e02991b3e /src
parenta60bd09ffda9c36443cf64c4c1f14d1c09442148 (diff)
downloadluarocks-c01c8a21a735c3a74270635e5bd843bac71bc624.tar.gz
luarocks-c01c8a21a735c3a74270635e5bd843bac71bc624.tar.bz2
luarocks-c01c8a21a735c3a74270635e5bd843bac71bc624.zip
Tests: patch.lua
Diffstat (limited to 'src')
-rw-r--r--src/luarocks/tools/patch.lua41
1 files changed, 1 insertions, 40 deletions
diff --git a/src/luarocks/tools/patch.lua b/src/luarocks/tools/patch.lua
index 2e95e879..b46bd1d0 100644
--- a/src/luarocks/tools/patch.lua
+++ b/src/luarocks/tools/patch.lua
@@ -55,35 +55,6 @@ local function exists(filename)
55end 55end
56local function isfile() return true end --FIX? 56local function isfile() return true end --FIX?
57 57
58local function read_file(filename)
59 local fh, data, err, oserr
60 fh, err, oserr = io.open(filename, 'rb')
61 if not fh then return fh, err, oserr end
62 data, err, oserr = fh:read'*a'
63 fh:close()
64 if not data then return nil, err, oserr end
65 return data
66end
67
68local function write_file(filename, data)
69 local fh, status, err, oserr
70 fh, err, oserr = io.open(filename 'wb')
71 if not fh then return fh, err, oserr end
72 status, err, oserr = fh:write(data)
73 fh:close()
74 if not status then return nil, err, oserr end
75 return true
76end
77
78local function file_copy(src, dest)
79 local data, status, err, oserr
80 data, err, oserr = read_file(src)
81 if not data then return data, err, oserr end
82 status, err, oserr = write_file(dest)
83 if not status then return status, err, oserr end
84 return true
85end
86
87local function string_as_file(s) 58local function string_as_file(s)
88 return { 59 return {
89 at = 0, 60 at = 0,
@@ -720,17 +691,7 @@ local function patch_file(source, target, epoch, hunks, strip, create_delete)
720 warning(format("failed backing up %s when patching", source)) 691 warning(format("failed backing up %s when patching", source))
721 return false 692 return false
722 end 693 end
723 ok = patch_hunks(backupname, source, hunks) 694 patch_hunks(backupname, source, hunks)
724 if not ok then
725 warning(format("error patching file %s", source))
726 if file_copy(source, source .. ".invalid") then
727 warning(format("invalid version is saved to %s",
728 source .. ".invalid"))
729 -- todo: proper rejects
730 os.rename(backupname, source)
731 end
732 return false
733 end
734 info(format("successfully patched %s", source)) 695 info(format("successfully patched %s", source))
735 os.remove(backupname) 696 os.remove(backupname)
736 return true 697 return true