configmanager: Refactor function to avoid re-declaring local variable [luacheck]
authorMatthew Wild <mwild1@gmail.com>
Mon, 18 May 2015 18:07:31 +0000 (19:07 +0100)
committerMatthew Wild <mwild1@gmail.com>
Mon, 18 May 2015 18:07:31 +0000 (19:07 +0100)
core/configmanager.lua

index a85f950cd7ac0e7020fabee7f063f22e9f05690d..5ee131ad772e921baac1fdb055cce9e3f1b6c94d 100644 (file)
@@ -183,6 +183,7 @@ do
                env.component = env.Component;
 
                function env.Include(file)
+                       -- Check whether this is a wildcard Include
                        if file:match("[*?]") then
                                local lfs = deps.softreq "lfs";
                                if not lfs then
@@ -202,16 +203,17 @@ do
                                                env.Include(path..path_sep..f);
                                        end
                                end
-                       else
-                               local file = resolve_relative_path(config_file:gsub("[^"..path_sep.."]+$", ""), file);
-                               local f, err = io.open(file);
-                               if f then
-                                       local ret, err = parsers.lua.load(f:read("*a"), file, config);
-                                       if not ret then error(err:gsub("%[string.-%]", file), 0); end
-                               end
-                               if not f then error("Error loading included "..file..": "..err, 0); end
-                               return f, err;
+                               return;
+                       end
+                       -- Not a wildcard, so resolve (potentially) relative path and run through config parser
+                       file = resolve_relative_path(config_file:gsub("[^"..path_sep.."]+$", ""), file);
+                       local f, err = io.open(file);
+                       if f then
+                               local ret, err = parsers.lua.load(f:read("*a"), file, config_table);
+                               if not ret then error(err:gsub("%[string.-%]", file), 0); end
                        end
+                       if not f then error("Error loading included "..file..": "..err, 0); end
+                       return f, err;
                end
                env.include = env.Include;