Date: Mon, 7 Jul 2014 23:10:31 GMT From: pedrosouza@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r270558 - soc2014/pedrosouza/lua_loader/head/sys/boot/lua Message-ID: <201407072310.s67NAV26094443@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: pedrosouza Date: Mon Jul 7 23:10:30 2014 New Revision: 270558 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=270558 Log: fix config.lua Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/lua/config.lua Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/lua/config.lua ============================================================================== --- soc2014/pedrosouza/lua_loader/head/sys/boot/lua/config.lua Mon Jul 7 22:02:39 2014 (r270557) +++ soc2014/pedrosouza/lua_loader/head/sys/boot/lua/config.lua Mon Jul 7 23:10:30 2014 (r270558) @@ -1,19 +1,23 @@ config = {}; pattern_table = { - [1] = {str = "(%w+)_load%s*=%s*\"([%w%s%p]*)%s*(.*)\"", process = function(k, v) print("Processed(load) -> "..k..":"..v); end }, --module_load="value" - [2] = {str = "(%w+)_name%s*=%s*\"([%w%s%p]*)\"%s*(.*)", process = function(k, v) print("Processed(name) -> "..k..":"..v); end }, --module_name="value" - [3] = {str = "(%w+)_type%s*=%s*\"([%w%s%p]*)\"%s*(.*)", process = function(k, v) print("Processed(type) -> "..k..":"..v); end }, --module_type="value" - [4] = {str = "(%w+)_flags%s*=%s*\"([%w%s%p]*)\"%s*(.*)", process = function(k, v) print("Processed(flags) -> "..k..":"..v); end }, --module_flags="value" - [5] = {str = "(%w+)_before%s*=%s*\"([%w%s%p]*)\"%s*(.*)", process = function(k, v) print("Processed(before) -> "..k..":"..v); end } --module_before="value" - [6] = {str = "(%w+)_after%s*=%s*\"([%w%s%p]*)\"%s*(.*)", process = function(k, v) print("Processed(after) -> "..k..":"..v); end }, --module_after="value" - [7] = {str = "(%w+)_error%s*=%s*\"([%w%s%p]*)\"%s*(.*)", process = function(k, v) print("Processed(error) -> "..k..":"..v); end } --module_error="value" - [8] = {str = "(%w+)%s*=%s*\"([%w%s%p]*)\"%s*(.*)", process = function(k, v) print("Processed(environment) -> "..k..":"..v); end } --env_var="value" + [1] = {str = "^%s*(#.*)", process = function(k, v) print("Processed(comment) -> "..k.."\n"); end }, + [2] = {str = "^%s*([%w_]+)_load%s*=%s*\"([%w%s%p]-)\"%s*(.*)", process = function(k, v) print("Processed(load) -> "..k..":"..v.."\n"); end }, --module_load="value" + [3] = {str = "^%s*([%w_]+)_name%s*=%s*\"([%w%s%p]-)\"%s*(.*)", process = function(k, v) print("Processed(name) -> "..k..":"..v.."\n"); end }, --module_name="value" + [4] = {str = "^%s*([%w_]+)_type%s*=%s*\"([%w%s%p]-)\"%s*(.*)", process = function(k, v) print("Processed(type) -> "..k..":"..v.."\n"); end }, --module_type="value" + [5] = {str = "^%s*([%w_]+)_flags%s*=%s*\"([%w%s%p]-)\"%s*(.*)", process = function(k, v) print("Processed(flags) -> "..k..":"..v.."\n"); end }, --module_flags="value" + [6] = {str = "^%s*([%w_]+)_before%s*=%s*\"([%w%s%p]-)\"%s*(.*)", process = function(k, v) print("Processed(before) -> "..k..":"..v.."\n"); end }, --module_before="value" + [7] = {str = "^%s*([%w_]+)_after%s*=%s*\"([%w%s%p]-)\"%s*(.*)", process = function(k, v) print("Processed(after) -> "..k..":"..v.."\n"); end }, --module_after="value" + [8] = {str = "^%s*([%w_]+)_error%s*=%s*\"([%w%s%p]-)\"%s*(.*)", process = function(k, v) print("Processed(error) -> "..k..":"..v.."\n"); end }, --module_error="value" + [9] = {str = "^%s*([%w%p]+)%s*=%s*\"([%w%s%p]-)\"%s*(.*)", process = function(k, v) print("Processed(environment) -> "..k..":"..v.."\n"); end } --env_var="value" }; function config.isValidComment(c) - local s = string.match(c, "%s*#.*"); - if s == nil then return false; end + if c ~= nil then + local s = string.match(c, "^%s*#.*"); + if s == nil then s = string.match(c, "^%s*$"); end + if s == nil then return false; end + end return true; end @@ -38,26 +42,28 @@ for line in string.gmatch(text, "([^\n]+)") do - local found = false; - - for i, v in ipairs(pattern_table) do - local k, v, c = string.match(line, v.str); - if k ~= nil then - found = true; - - if config.isValidComment(c) then - v.process(k, v); - else - print("Malformed line ("..n.."):"..line); + if string.match(line, "^%s*$") == nil then + local found = false; + + for i, val in ipairs(pattern_table) do + local k, v, c = string.match(line, val.str); + if k ~= nil then + found = true; + + if config.isValidComment(c) then + val.process(k, v); + else + print("Malformed line ("..n.."):\n\t"..line.."\n"); + end + + break; end - - break; + end + + if found == false then + print("Malformed line ("..n.."):\n\t"..line.."\n"); end end - - if found == false then - print("Malformed line ("..n.."):"..line); - end - + n = n + 1; end end \ No newline at end of file
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407072310.s67NAV26094443>