X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mw_main.c;h=644b189ad302bd15c767366b5e2f3d1079f41ba0;hb=d27d6eea9f3eb5b0211d1a63b32fec175383b715;hp=af499c64d6a3fa3b5307b8aca91a16efbfec7c8d;hpb=9e2a8698714da2920e81942eb52c8040fbf73bef;p=metawatch.git diff --git a/mw_main.c b/mw_main.c index af499c6..644b189 100644 --- a/mw_main.c +++ b/mw_main.c @@ -563,14 +563,16 @@ static int separate_params(char *params[], char *pbuf) static void params_free(char **params) { int i; + for (i=0; i < PARAMS_MAX; i++) - free(params[i]); + if (params[i] != NULL) + free(params[i]); } void process_cmd(char *cmdline, int clinep, mwdata_t *mwdata) { unsigned char mdata[32]; - unsigned int intopt; + unsigned int intopt=0; char cmd[128], pbuf[128], *params[PARAMS_MAX]; int i, pcnt; char *inbuf = cmdline; @@ -602,11 +604,9 @@ void process_cmd(char *cmdline, int clinep, mwdata_t *mwdata) pcnt = 0; if (strncmp(cmd, "quit", 4) == 0) { - //close(mw_fd); - //exit(0); /* just in case we quit and show another screen */ mw_update_display(&mwdata->mwdevice, MW_SCREEN_MODE_IDLE, 0); - params_free(params); + // params_free(params); g_main_loop_quit (mwdata->mloop); } if (strncmp(cmd, "help", 4) == 0) { @@ -715,6 +715,12 @@ void process_cmd(char *cmdline, int clinep, mwdata_t *mwdata) if (strncmp(cmd, "wet", 3) == 0) { do_weather(mwdata); } + if (strncmp(cmd, "lang_de", 7) == 0) { + mdata[0] = MW_LANG_DE; + mw_nval_operation(&mwdata->mwdevice, MW_NVAL_OPERATION_WRITE, MW_NVAL_LANGUAGE + + ls -l , 1, mdata); + } if (strncmp(cmd, "c24", 3) == 0) { mdata[0] = MW_RTC_CLOCK_24HR; mw_nval_operation(&mwdata->mwdevice, MW_NVAL_OPERATION_WRITE, MW_NVAL_TIME_FORMAT, 1, mdata);