# HG changeset patch # User Matthew Wild # Date 1234535835 0 # Node ID 55add3b87c011b8753ada325608c3372d1a3a42e # Parent 57c793b1575f94de2b00cbd9a0498638c5eb5888 Report errors in the config file to the user diff -r 57c793b1575f -r 55add3b87c01 core/configmanager.lua --- a/core/configmanager.lua Fri Feb 13 10:54:25 2009 +0000 +++ b/core/configmanager.lua Fri Feb 13 14:37:15 2009 +0000 @@ -68,15 +68,15 @@ if f then local ok, err = parsers[format].load(f:read("*a")); f:close(); - return ok, err; + return ok, "parser", err; end - return f, err; + return f, "file", err; end if not format then - return nil, "no parser specified"; + return nil, "file", "no parser specified"; else - return nil, "no parser for "..(format); + return nil, "file", "no parser for "..(format); end end diff -r 57c793b1575f -r 55add3b87c01 prosody --- a/prosody Fri Feb 13 10:54:25 2009 +0000 +++ b/prosody Fri Feb 13 14:37:15 2009 +0000 @@ -40,17 +40,25 @@ do -- TODO: Check for other formats when we add support for them -- Use lfs? Make a new conf/ dir? - local ok, err = config.load((CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); + local ok, level, err = config.load((CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); if not ok then print(""); print("**************************"); - print("Prosody was unable to find the configuration file."); - print("We looked for: "..(CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); - print("A sample config file is included in the Prosody download called prosody.cfg.lua.dist"); - print("Copy or rename it to prosody.cfg.lua and edit as necessary."); + if level == "parser" then + print("A problem occured while reading the config file "..(CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); + local err_line, err_message = tostring(err):match("%[string .-%]:(%d*): (.*)"); + print("Error"..(err_line and (" on line "..err_line) or "")..": "..(err_message or tostring(err))); + print(""); + elseif level == "file" then + print("Prosody was unable to find the configuration file."); + print("We looked for: "..(CFG_CONFIGDIR or ".").."/prosody.cfg.lua"); + print("A sample config file is included in the Prosody download called prosody.cfg.lua.dist"); + print("Copy or rename it to prosody.cfg.lua and edit as necessary."); + end print("More help on configuring Prosody can be found at http://prosody.im/doc/configure"); print("Good luck!"); print("**************************"); + print(""); os.exit(1); end end