commit 09341c10c58bd9951d494e1b76b006fd34aafe21
parent 217764bd3590c8731ddb9d301f821186decef3dc
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date: Mon, 5 Oct 2020 13:05:38 +0200
make complaints about unrecognized keywords more verbose
tell the user in what section the keyword appeared, as that may help
spotting mistakes like stray empty lines.
Diffstat:
5 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/src/config.c b/src/config.c
@@ -425,7 +425,8 @@ load_config( const char *where )
if (*++p)
channel->boxes[fn] = nfstrdup( p );
} else if (!getopt_helper( &cfile, &cops, channel )) {
- error( "%s:%d: unknown keyword '%s'\n", cfile.file, cfile.line, cfile.cmd );
+ error( "%s:%d: keyword '%s' is not recognized in Channel sections\n",
+ cfile.file, cfile.line, cfile.cmd );
cfile.err = 1;
}
}
@@ -476,7 +477,7 @@ load_config( const char *where )
}
else
{
- error( "%s:%d: unknown keyword '%s'\n",
+ error( "%s:%d: keyword '%s' is not recognized in Group sections\n",
cfile.file, cfile.line, cfile.cmd );
cfile.err = 1;
}
@@ -511,7 +512,7 @@ load_config( const char *where )
}
else if (!getopt_helper( &cfile, &gcops, &global_conf ))
{
- error( "%s:%d: unknown section keyword '%s'\n",
+ error( "%s:%d: '%s' is not a recognized section-starting or global keyword\n",
cfile.file, cfile.line, cfile.cmd );
cfile.err = 1;
while (getcline( &cfile ))
diff --git a/src/driver.c b/src/driver.c
@@ -49,7 +49,7 @@ free_generic_messages( message_t *msgs )
}
void
-parse_generic_store( store_conf_t *store, conffile_t *cfg )
+parse_generic_store( store_conf_t *store, conffile_t *cfg, const char *type )
{
if (!strcasecmp( "Trash", cfg->cmd )) {
store->trash = nfstrdup( cfg->val );
@@ -72,7 +72,7 @@ parse_generic_store( store_conf_t *store, conffile_t *cfg )
}
store->flat_delim = nfstrdup( cfg->val );
} else {
- error( "%s:%d: unknown keyword '%s'\n", cfg->file, cfg->line, cfg->cmd );
+ error( "%s:%d: keyword '%s' is not recognized in %s sections\n", cfg->file, cfg->line, cfg->cmd, type );
cfg->err = 1;
}
}
diff --git a/src/driver.h b/src/driver.h
@@ -276,7 +276,7 @@ struct driver {
uint count_generic_messages( message_t * );
void free_generic_messages( message_t * );
-void parse_generic_store( store_conf_t *store, conffile_t *cfg );
+void parse_generic_store( store_conf_t *store, conffile_t *cfg, const char *type );
store_t *proxy_alloc_store( store_t *real_ctx, const char *label );
diff --git a/src/drv_imap.c b/src/drv_imap.c
@@ -3529,10 +3529,11 @@ imap_parse_store( conffile_t *cfg, store_conf_t **storep )
}
store->delimiter = cfg->val[0];
} else
- parse_generic_store( &store->gen, cfg );
+ parse_generic_store( &store->gen, cfg, "IMAPStore" );
continue;
} else {
- error( "%s:%d: unknown/misplaced keyword '%s'\n", cfg->file, cfg->line, cfg->cmd );
+ error( "%s:%d: keyword '%s' is not recognized in IMAPAccount sections\n",
+ cfg->file, cfg->line, cfg->cmd );
cfg->err = 1;
continue;
}
diff --git a/src/drv_maildir.c b/src/drv_maildir.c
@@ -1913,7 +1913,7 @@ maildir_parse_store( conffile_t *cfg, store_conf_t **storep )
cfg->err = 1;
}
} else
- parse_generic_store( &store->gen, cfg );
+ parse_generic_store( &store->gen, cfg, "MaildirStore" );
if (!store->inbox)
store->inbox = expand_strdup( "~/Maildir" );
if (store->sub_style == SUB_MAILDIRPP && store->gen.path) {