diff options
author | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2009-01-04 12:42:52 +0100 |
---|---|---|
committer | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2009-01-04 12:42:52 +0100 |
commit | 5f8d768468d71154e2bd29b667c6aa8af453fe27 (patch) | |
tree | 76bc0dd2dc38e695abfd554f78fdfb1621aa6c5b /epgsearchsvdrp.c | |
parent | 6c25a70aab63dc84ed1278195eef0a560005970d (diff) | |
download | vdr-plugin-epgsearch-5f8d768468d71154e2bd29b667c6aa8af453fe27.tar.gz vdr-plugin-epgsearch-5f8d768468d71154e2bd29b667c6aa8af453fe27.tar.bz2 |
use shutdown handler to prevent an interrupted search timer update
Diffstat (limited to 'epgsearchsvdrp.c')
-rw-r--r-- | epgsearchsvdrp.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/epgsearchsvdrp.c b/epgsearchsvdrp.c index 865e358..98e8678 100644 --- a/epgsearchsvdrp.c +++ b/epgsearchsvdrp.c @@ -66,7 +66,7 @@ const char **cPluginEpgsearch::SVDRPHelpPages(void) "UPDS [ OSD ]\n" " Update search timers.\n" " If the optional keyword 'OSD' is passed, an OSD message\n" - " will inform about update completion.", + " will inform about update completion.", "UPDD\n" " Reload epgsearchdone.data", "SETS <ON|OFF>\n" @@ -141,8 +141,21 @@ cString cPluginEpgsearch::SVDRPCommand(const char *Command, const char *Option, { if (strcasecmp(Command, "UPDS") == 0) { - updateForced = (Option && strcasecmp(Option, "OSD") == 0)?2:1; - return cString("update triggered"); + updateForced = 1; + if (Option) + { + char *pstrOptionToken, *pptr; + char *pstrOptions=strdup(Option); + pstrOptionToken=strtok_r(pstrOptions, " ", &pptr); + while(pstrOptionToken) + { + if (strcasecmp(Option, "OSD")==0) + updateForced |= UPDS_WITH_OSD; + pstrOptionToken=strtok_r(NULL, "|", &pptr); + } + free(pstrOptions); + } + return cString("update triggered"); } else if (strcasecmp(Command, "UPDD") == 0) { |