report syntax error in value instead type error

This commit is contained in:
Christian Thaeter 2008-08-08 08:21:38 +02:00
parent 87c7fea4ac
commit 3be0d38d73
5 changed files with 14 additions and 8 deletions

View file

@ -45,7 +45,7 @@ NOBUG_DEFINE_FLAG_PARENT (config_file, config_all);
LUMIERA_ERROR_DEFINE (CONFIG_SYNTAX, "syntax error in configfile");
LUMIERA_ERROR_DEFINE (CONFIG_SYNTAX_KEY, "syntax error in key");
LUMIERA_ERROR_DEFINE (CONFIG_TYPE, "value has wrong type");
LUMIERA_ERROR_DEFINE (CONFIG_SYNTAX_VALUE, "syntax error in value");
LUMIERA_ERROR_DEFINE (CONFIG_NO_ENTRY, "no configuration entry");
LUMIERA_ERROR_DEFINE (CONFIG_DEFAULT, "illegal default value");

View file

@ -40,10 +40,9 @@ NOBUG_DECLARE_FLAG (config_typed);
NOBUG_DECLARE_FLAG (config_file);
LUMIERA_ERROR_DECLARE (CONFIG_SYNTAX);
LUMIERA_ERROR_DECLARE (CONFIG_SYNTAX_KEY);
LUMIERA_ERROR_DECLARE (CONFIG_TYPE);
LUMIERA_ERROR_DECLARE (CONFIG_SYNTAX_VALUE);
LUMIERA_ERROR_DECLARE (CONFIG_NO_ENTRY);
LUMIERA_ERROR_DECLARE (CONFIG_DEFAULT);

View file

@ -61,7 +61,7 @@ lumiera_config_number_get (const char* key, long long* value, const char* def)
ret = 0; /* all ok */
else
{
LUMIERA_ERROR_SET (config_typed, CONFIG_TYPE);
LUMIERA_ERROR_SET (config_typed, CONFIG_SYNTAX_VALUE);
if (def)
/* even when we return an error code we still try to initialize value with our default while in error state */
goto try_default;
@ -80,7 +80,7 @@ lumiera_config_number_get (const char* key, long long* value, const char* def)
else
{
/* default value is broken!! */
/* note that this error gets ignored when we had a type error above */
/* note that this error gets ignored by the application when we had a type error above, but will still be logged with nobug */
ret = -1;
LUMIERA_ERROR_SET (config_typed, CONFIG_DEFAULT);
}

View file

@ -39,18 +39,25 @@ out: 1234567890
END
export LUMIERA_TEST_NUMBER_1=987654321
TEST "number get, env override" number_get test.number.1 '1234567890 # comment' <<END
out: 987654321
END
export LUMIERA_TEST_NUMBER_1=barf
TEST "number get, type error" number_get_nodefault test.number.1 <<END
out: LUMIERA_ERROR_CONFIG_TYPE:value has wrong type
out: LUMIERA_ERROR_CONFIG_SYNTAX_VALUE:syntax error in value
END
LUMIERA_TEST_NUMBER_1=NAN
TEST "number get, env override, default fallback" number_get test.number.1 '1234567890 # comment' <<END
out: LUMIERA_ERROR_CONFIG_SYNTAX_VALUE:syntax error in value, 1234567890
END
unset LUMIERA_TEST_NUMBER_1
TEST "number get, syntax error" number_get no:fun:blah '1234567890 # comment' <<END
TEST "number get, syntax error" number_get_nodefault test.NUMBER.1 <<END
out: LUMIERA_ERROR_CONFIG_SYNTAX_KEY:syntax error in key
END

View file

@ -47,7 +47,7 @@ TEST ("number_get")
if (!lumiera_config_number_get (argv[2], &number, argv[3]))
printf ("%lld\n", number);
else
printf ("%s\n", lumiera_error ());
printf ("%s, %lld\n", lumiera_error (), number);
lumiera_config_destroy ();
}