From a3d0fad984cea506468b45c1a7bd99f818617de6 Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Sat, 27 Apr 2024 13:24:00 +0200 Subject: [PATCH] aqhome-react: generalize command handling. --- apps/aqhome-react/init.c | 6 ++++-- apps/aqhome-react/main.c | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/apps/aqhome-react/init.c b/apps/aqhome-react/init.c index fb63f3c..73adc47 100644 --- a/apps/aqhome-react/init.c +++ b/apps/aqhome-react/init.c @@ -75,8 +75,10 @@ int AqHomeReact_Init(AQHOME_REACT *aqh, int argc, char **argv) } s=GWEN_DB_GetCharValue(dbArgs, "params", 0, NULL); - if (s && *s && strcasecmp(s, "modtest")==0) + if (s && *s && strcasecmp(s, "modtest")==0) { + aqh->dbArgs=dbArgs; return rv; + } AQH_MergeConfigFileIntoConfig(dbArgs, "ConfigFile"); aqh->dbArgs=dbArgs; @@ -358,7 +360,7 @@ int _readArgs(int argc, char **argv, GWEN_DB_NODE *dbArgs) } }; - rv=GWEN_Args_Check(argc, argv, 1, GWEN_ARGS_MODE_ALLOW_FREEPARAM, args, dbArgs); + rv=GWEN_Args_Check(argc, argv, 1, GWEN_ARGS_MODE_ALLOW_FREEPARAM | GWEN_ARGS_MODE_STOP_AT_FREEPARAM, args, dbArgs); if (rv==GWEN_ARGS_RESULT_ERROR) { fprintf(stderr, "ERROR: Could not parse arguments main\n"); return GWEN_ERROR_INVALID; diff --git a/apps/aqhome-react/main.c b/apps/aqhome-react/main.c index 884e263..1e535e2 100644 --- a/apps/aqhome-react/main.c +++ b/apps/aqhome-react/main.c @@ -125,7 +125,14 @@ int main(int argc, char **argv) else if (rv>0) { argc-=rv; argv+=rv; - rv=_testModules(argc, argv); + + s=GWEN_DB_GetCharValue(dbArgs, "params", 0, NULL); + if (s && *s && strcasecmp(s, "modtest")==0) + rv=_testModules(argc, argv); + else { + DBG_ERROR(NULL, "Invalid command \"%s\"", s?s:""); + return 1; + } } else { s=GWEN_DB_GetCharValue(dbArgs, "charset", 0, NULL);