From d2aafb7d4f23f781183bb13f1ecc87672d2badb2 Mon Sep 17 00:00:00 2001 From: Tobias Ulmer Date: Wed, 26 Jan 2011 19:15:53 +0100 Subject: [PATCH] extend the tools module with add_tool() Signed-off-by: Tobias Ulmer --- generic/tools.lua | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/generic/tools.lua b/generic/tools.lua index f95092f..1dede51 100644 --- a/generic/tools.lua +++ b/generic/tools.lua @@ -104,6 +104,39 @@ function set_tool(name, value, flags) return true, nil end +--- add a new tool +-- @param name string: the tool name +-- @param value string: the new tool command +-- @param flags string: the new tool flags. +-- @param optional bool: wheter the tool is optional or not +-- @return bool +-- @return nil, an error string on error +function add_tool(name, value, flags, optional) + if tools[name] then + e2lib.bomb("trying to add a tool that already exists: " .. + tostring(name)) + end + + if type(name) ~= "string" or type(value) ~= "string" or + type(flags) ~= "string" or type(optional) ~= "boolean" then + print("error in add_tool") + e2lib.bomb("one or more parameters wrong while adding tool " .. + tostring(name)) + end + + tools[name] = { + name = value, + flags = flags, + optional = optional, + } + + local t = tools[name] + e2lib.log(3, string.format("adding tool: %s=%s flags=%s optional=%s", + name, t.name, t.flags, tostring(t.optional))) + + return true, nil +end + --- check if a tool is available -- @param name string a valid tool name -- @return bool -- 2.39.5