From: Tobias Ulmer Date: Fri, 25 Oct 2013 15:48:47 +0000 (+0200) Subject: Replace write_file with eio.file_write() X-Git-Tag: e2factory-2.3.15rc1~436 X-Git-Url: https://git.e2factory.org/?a=commitdiff_plain;h=55efb4b91a835d7a57ca128941e6b3cb52a53b2a;p=e2factory.git Replace write_file with eio.file_write() Signed-off-by: Tobias Ulmer --- diff --git a/generic/e2lib.lua b/generic/e2lib.lua index 47b4425..bda09e7 100644 --- a/generic/e2lib.lua +++ b/generic/e2lib.lua @@ -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 diff --git a/generic/eio.lua b/generic/eio.lua index 3b63c11..d99c7e5 100644 --- a/generic/eio.lua +++ b/generic/eio.lua @@ -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: diff --git a/global/e2-create-project.lua b/global/e2-create-project.lua index 0de0e57..325a2d6 100644 --- a/global/e2-create-project.lua +++ b/global/e2-create-project.lua @@ -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 diff --git a/global/e2-fetch-project.lua b/global/e2-fetch-project.lua index 21d5d6f..535fdbe 100644 --- a/global/e2-fetch-project.lua +++ b/global/e2-fetch-project.lua @@ -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", diff --git a/local/e2build.lua b/local/e2build.lua index e49400d..f98e9b4 100644 --- a/local/e2build.lua +++ b/local/e2build.lua @@ -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 diff --git a/plugins/cvs.lua b/plugins/cvs.lua index c2cb0e3..5ed8072 100644 --- a/plugins/cvs.lua +++ b/plugins/cvs.lua @@ -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 diff --git a/plugins/files.lua b/plugins/files.lua index 59f77d3..a1c0832 100644 --- a/plugins/files.lua +++ b/plugins/files.lua @@ -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 diff --git a/plugins/git.lua b/plugins/git.lua index 3236a58..43f5d28 100644 --- a/plugins/git.lua +++ b/plugins/git.lua @@ -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 diff --git a/plugins/svn.lua b/plugins/svn.lua index ac4385a..860be06 100644 --- a/plugins/svn.lua +++ b/plugins/svn.lua @@ -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