From 6b32de4dac8d37db82821892ca3b94dfcce2e5bb Mon Sep 17 00:00:00 2001 From: Felix Ruess Date: Sun, 5 Aug 2012 13:36:22 +0200 Subject: [PATCH] [tools] gen_settings: error if a handler but no module attribute is specified previously it just silently ignored the handler, which is really really bad! --- sw/tools/gen_settings.ml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sw/tools/gen_settings.ml b/sw/tools/gen_settings.ml index 1e7e0f28f0e..df1012965be 100644 --- a/sw/tools/gen_settings.ml +++ b/sw/tools/gen_settings.ml @@ -81,9 +81,14 @@ let print_dl_settings = fun settings -> let v = ExtXml.attrib s "var" in begin try - let h = ExtXml.attrib s "handler" and - m = ExtXml.attrib s "module" in - lprintf "case %d: %s_%s( _value ); _value = %s; break;\\\n" !idx (Filename.basename m) h v + let h = ExtXml.attrib s "handler" in + begin + try + let m = ExtXml.attrib s "module" in + lprintf "case %d: %s_%s( _value ); _value = %s; break;\\\n" !idx (Filename.basename m) h v + with + ExtXml.Error e -> prerr_endline (sprintf "Error: You need to specify the module attribute for setting %s to use the handler %s" v h); exit 1 + end; with ExtXml.Error e -> lprintf "case %d: %s = _value; break;\\\n" !idx v end;