Parcourir la source

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.
Oswald Buddenhagen il y a 4 ans
Parent
commit
09341c10c5
5 fichiers modifiés avec 11 ajouts et 9 suppressions
  1. 4 3
      src/config.c
  2. 2 2
      src/driver.c
  3. 1 1
      src/driver.h
  4. 3 2
      src/drv_imap.c
  5. 1 1
      src/drv_maildir.c

+ 4 - 3
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 ))

+ 2 - 2
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;
 	}
 }

+ 1 - 1
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 );
 

+ 3 - 2
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;
 		}

+ 1 - 1
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) {