]> git.e2factory.org Git - e2factory.git/commitdiff
Replace write_file with eio.file_write()
authorTobias Ulmer <tu@emlix.com>
Fri, 25 Oct 2013 15:48:47 +0000 (17:48 +0200)
committerTobias Ulmer <tu@emlix.com>
Wed, 16 Nov 2016 14:01:23 +0000 (15:01 +0100)
Signed-off-by: Tobias Ulmer <tu@emlix.com>
generic/e2lib.lua
generic/eio.lua
global/e2-create-project.lua
global/e2-fetch-project.lua
local/e2build.lua
plugins/cvs.lua
plugins/files.lua
plugins/git.lua
plugins/svn.lua

index 47b442556851daa80495524b777850b6e9af39ee..bda09e70a4d76304ae6e49d117c7b0374d0ca00c 100644 (file)
@@ -2130,24 +2130,6 @@ function e2lib.parentdirs(path)
     return t
 end
 
---- write a string to a file
--- @param file string: filename
--- @param data string: data
--- @return bool
--- @return nil, or an error string
-function e2lib.write_file(file, data)
-    local f, msg = io.open(file, "w")
-    if not f then
-        return false, string.format("open failed: %s", msg)
-    end
-    local rc, msg = f:write(data)
-    f:close()
-    if not rc then
-        return false, string.format("write failed: %s", msg)
-    end
-    return true, nil
-end
-
 
 --- parse a server:location string, taking a default server into account
 -- @param serverloc string: the string to parse
index 3b63c116afec2a9c44681505f860af05e9b4cf79..d99c7e571c2ad5ec125757caa57ee9faeccb8cf2 100644 (file)
@@ -385,6 +385,32 @@ function eio.file_read_line(filename)
     return line
 end
 
+--- Create or truncate a file pointed to by filename, and fill it with data.
+-- @param filename File name.
+-- @param data String of data, may contain embedded zeros.
+-- @return True on success, false on error.
+-- @return Error object on failure.
+function eio.file_write(filename, data)
+    local rc, re, file
+
+    file, re = eio.fopen(filename, "w")
+    if not file then
+        return false, re
+    end
+
+    rc, re = eio.fwrite(file, data)
+    if not rc then
+        return false, re
+    end
+
+    rc, re = eio.fclose(file)
+    if not rc then
+        return false, re
+    end
+
+    return true
+end
+
 return strict.lock(eio)
 
 -- vim:sw=4:sts=4:et:
index 0de0e57c040bac9b55855f224813b1fd0c362caa..325a2d6ad5e9c12900a779284c56c30a7ce89aab 100644 (file)
@@ -44,10 +44,6 @@ local function write_extension_config(extensions)
     local e, rc, re, file, out
 
     e = err.new("writing extensions config: %s", e2lib.globals.extension_config)
-    file, re = eio.fopen(e2lib.globals.extension_config, "w")
-    if not file then
-        return false, e:cat(re)
-    end
 
     out = "extensions {\n"
     for _,ex in ipairs(extensions) do
@@ -59,12 +55,7 @@ local function write_extension_config(extensions)
     end
     out = out .. "}\n"
 
-    rc, re = eio.fwrite(file, out)
-    if not rc then
-        return false, e:cat(re)
-    end
-
-    rc, re = eio.fclose(file)
+    rc, re = eio.file_write(e2lib.globals.extension_config, out)
     if not rc then
         return false, e:cat(re)
     end
@@ -182,7 +173,7 @@ local function e2_create_project(arg)
         if not rc then
             return false, e:cat(re)
         end
-        rc, re = e2lib.write_file(f.filename, f.content)
+        rc, re = eio.file_write(f.filename, f.content)
         if not rc then
             return false, e:cat(re)
         end
@@ -270,7 +261,7 @@ local function e2_create_project(arg)
         if not rc then
             return false, e:cat(re)
         end
-        rc, re = e2lib.write_file(f.filename, f.content)
+        rc, re = eio.file_write(f.filename, f.content)
         if not rc then
             return false, e:cat(re)
         end
index 21d5d6f51319a978f5bf196673ec6695949b6166..535fdbe361ff2464291a02513ecfed2f020f7923 100644 (file)
@@ -183,14 +183,17 @@ local function e2_fetch_project(arg)
     -- write project location file
     local file = ".e2/project-location"
     local data = string.format("%s\n", p.location)
-    local rc, re = e2lib.write_file(file, data)
+    rc, re = eio.file_write(file, data)
     if not rc then
         return false, e:cat(re)
     end
 
     -- write version file
-    local rc, re = e2lib.write_file(e2lib.globals.global_interface_version_file,
-    string.format("%d\n", v))
+    rc, re = eio.file_write(e2lib.globals.global_interface_version_file,
+        string.format("%d\n", v))
+    if not rc then
+        return false, e:cat(re)
+    end
 
     -- call e2-install-e2
     local e2_install_e2 = string.format("%s %s/e2-install-e2",
index e49400d765f7c5db587a063d75ddbe71b0192f80..f98e9b45f11bd616037212ce0984c904f57a9228 100644 (file)
@@ -1159,7 +1159,7 @@ local function collect_project(info, r, return_flags)
                     "%s/%s.sha1", destdir,
                     e2lib.basename(file.location))
                 local filename = e2lib.basename(file.location)
-                rc, re = e2lib.write_file(checksum_file,
+                rc, re = eio.file_write(checksum_file,
                     string.format("%s  %s", file.sha1, filename))
                 if not rc then
                     return false, e:cat(re)
@@ -1291,7 +1291,7 @@ local function collect_project(info, r, return_flags)
     end
     local tsorted_results_string = table.concat(tsorted_results, "\n")
     local resultlist = e2lib.join(destdir, "resultlist")
-    rc, re = e2lib.write_file(resultlist, tsorted_results_string .. "\n")
+    rc, re = eio.file_write(resultlist, tsorted_results_string .. "\n")
     if not rc then
         return false, e:cat(re)
     end
index c2cb0e3b9934b057f2aa556669b71b900a529883..5ed80727e1963bd00f9f2b6f12d0295c5d8ca94d 100644 (file)
@@ -30,6 +30,7 @@
 
 local cvs = {}
 local e2lib = require("e2lib")
+local eio = require("eio")
 local scm = require("scm")
 local hash = require("hash")
 local url = require("url")
@@ -445,7 +446,7 @@ function cvs.toresult(info, sourcename, sourceset, directory)
     if not rc then
         return false, e:cat(re)
     end
-    rc, re = e2lib.write_file(fname, licence_list)
+    rc, re = eio.file_write(fname, licence_list)
     if not rc then
         return false, e:cat(re)
     end
index 59f77d33c11092bb7b68bbac1e3fe5e09f5835fd..a1c0832cc676fd58d756aa31d02ffc7ccd56a109 100644 (file)
@@ -34,6 +34,7 @@ local hash = require("hash")
 local err = require("err")
 local e2lib = require("e2lib")
 local e2tool = require("e2tool")
+local eio = require("eio")
 local strict = require("strict")
 local tools = require("tools")
 
@@ -545,9 +546,9 @@ function files.toresult(info, sourcename, sourceset, directory)
         if file.sha1 then
             local filename = e2lib.basename(file.location)
             local checksum_file = string.format("%s/%s.sha1",
-            destdir, filename)
-            rc, re = e2lib.write_file(checksum_file,
-            string.format("%s  %s", file.sha1, filename))
+                destdir, filename)
+            rc, re = eio.file_write(checksum_file,
+                string.format("%s  %s", file.sha1, filename))
             if not rc then
                 return false, e:cat(re)
             end
@@ -629,7 +630,7 @@ function files.toresult(info, sourcename, sourceset, directory)
         if not rc then
             return false, e:cat(re)
         end
-        rc, re = e2lib.write_file(fname, licence_list)
+        rc, re = eio.file_write(fname, licence_list)
         if not rc then
             return false, e:cat(re)
         end
index 3236a58a7120eb9f34aab27d1fc12899e1430b61..43f5d289f83183a7924629d72277b649a1b20dab 100644 (file)
@@ -38,6 +38,7 @@ local err = require("err")
 local e2option = require("e2option")
 local e2lib = require("e2lib")
 local e2tool = require("e2tool")
+local eio = require("eio")
 local strict = require("strict")
 local tools = require("tools")
 
@@ -575,7 +576,7 @@ function git.toresult(info, sourcename, sourceset, directory)
     if not rc then
         return false, e:cat(re)
     end
-    rc, re = e2lib.write_file(fname, licence_list)
+    rc, re = eio.file_write(fname, licence_list)
     if not rc then
         return false, e:cat(re)
     end
index ac4385a68692ba3538e54b0eaf599a23aacd6a8f..860be06bf5111437c00cde09be4b1c30e403706e 100644 (file)
@@ -35,6 +35,7 @@ local url = require("url")
 local tools = require("tools")
 local err = require("err")
 local e2lib = require("e2lib")
+local eio = require("eio")
 local strict = require("strict")
 
 plugin_descriptor = {
@@ -358,7 +359,7 @@ function svn.toresult(info, sourcename, sourceset, directory)
     if not rc then
         return false, e:cat(re)
     end
-    rc, re = e2lib.write_file(fname, licence_list)
+    rc, re = eio.file_write(fname, licence_list)
     if not rc then
         return false, e:cat(re)
     end