diff -Nru libsvdrp-0.0.1~hg24/debian/changelog libsvdrp-0.0.1~hg35/debian/changelog --- libsvdrp-0.0.1~hg24/debian/changelog 2010-04-22 07:01:11.000000000 +0000 +++ libsvdrp-0.0.1~hg35/debian/changelog 2010-11-13 14:07:51.000000000 +0000 @@ -1,8 +1,8 @@ -libsvdrp (0.0.1~hg24-1yavdr1) lucid; urgency=low +libsvdrp (0.0.1~hg35-0yavdr1) lucid; urgency=low - * reb. yavdr-lucid repo + * New upstream snapshot - -- Holger Schvestka Thu, 22 Apr 2010 09:00:38 +0200 + -- Holger Schvestka Sat, 13 Nov 2010 15:00:38 +0200 libsvdrp (0.0.1~hg24-1) unstable; urgency=low Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/00changelog.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/00changelog.i differ diff -Nru libsvdrp-0.0.1~hg24/.hg/branch libsvdrp-0.0.1~hg35/.hg/branch --- libsvdrp-0.0.1~hg24/.hg/branch 1970-01-01 00:00:00.000000000 +0000 +++ libsvdrp-0.0.1~hg35/.hg/branch 2010-11-13 14:03:10.000000000 +0000 @@ -0,0 +1 @@ +default diff -Nru libsvdrp-0.0.1~hg24/.hg/branchheads.cache libsvdrp-0.0.1~hg35/.hg/branchheads.cache --- libsvdrp-0.0.1~hg24/.hg/branchheads.cache 1970-01-01 00:00:00.000000000 +0000 +++ libsvdrp-0.0.1~hg35/.hg/branchheads.cache 2010-11-13 14:03:10.000000000 +0000 @@ -0,0 +1,2 @@ +c934d5015968b732a5779f3f7d3f2ccff4ba3199 35 +c934d5015968b732a5779f3f7d3f2ccff4ba3199 default Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/dirstate and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/dirstate differ diff -Nru libsvdrp-0.0.1~hg24/.hg/hgrc libsvdrp-0.0.1~hg35/.hg/hgrc --- libsvdrp-0.0.1~hg24/.hg/hgrc 1970-01-01 00:00:00.000000000 +0000 +++ libsvdrp-0.0.1~hg35/.hg/hgrc 2010-11-13 14:03:10.000000000 +0000 @@ -0,0 +1,2 @@ +[paths] +default = http://hg.geexbox.org/libsvdrp diff -Nru libsvdrp-0.0.1~hg24/.hg/requires libsvdrp-0.0.1~hg35/.hg/requires --- libsvdrp-0.0.1~hg24/.hg/requires 1970-01-01 00:00:00.000000000 +0000 +++ libsvdrp-0.0.1~hg35/.hg/requires 2010-11-13 14:03:09.000000000 +0000 @@ -0,0 +1,3 @@ +revlogv1 +store +fncache Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/00changelog.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/00changelog.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/00manifest.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/00manifest.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/_a_u_t_h_o_r_s.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/_a_u_t_h_o_r_s.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/autogen.sh.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/autogen.sh.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/configure.ac.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/configure.ac.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/_c_o_p_y_i_n_g.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/_c_o_p_y_i_n_g.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/doxygen.am.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/doxygen.am.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/doxygen.cfg.in.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/doxygen.cfg.in.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/.hgignore.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/.hgignore.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/_i_n_s_t_a_l_l.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/_i_n_s_t_a_l_l.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/libsvdrp.pc.in.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/libsvdrp.pc.in.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/m4/ax__prog__doxygen.m4.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/m4/ax__prog__doxygen.m4.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/m4/shave.m4.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/m4/shave.m4.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/_makefile.am.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/_makefile.am.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/_r_e_a_d_m_e.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/_r_e_a_d_m_e.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/shave.in.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/shave.in.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/shave-libtool.in.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/shave-libtool.in.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/bin/getwakeup.c.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/bin/getwakeup.c.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/bin/_makefile.am.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/bin/_makefile.am.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/lib/logs.c.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/lib/logs.c.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/lib/logs.h.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/lib/logs.h.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/lib/_makefile.am.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/lib/_makefile.am.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/lib/svdrp.c.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/lib/svdrp.c.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/lib/svdrp.h.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/lib/svdrp.h.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/lib/svdrp__internals.c.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/lib/svdrp__internals.c.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/lib/svdrp__internals.h.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/lib/svdrp__internals.h.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/lib/utils.c.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/lib/utils.c.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/lib/utils.h.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/lib/utils.h.i differ Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/data/src/_makefile.am.i and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/data/src/_makefile.am.i differ diff -Nru libsvdrp-0.0.1~hg24/.hg/store/fncache libsvdrp-0.0.1~hg35/.hg/store/fncache --- libsvdrp-0.0.1~hg24/.hg/store/fncache 1970-01-01 00:00:00.000000000 +0000 +++ libsvdrp-0.0.1~hg35/.hg/store/fncache 2010-11-13 14:03:10.000000000 +0000 @@ -0,0 +1,27 @@ +data/.hgignore.i +data/AUTHORS.i +data/COPYING.i +data/INSTALL.i +data/Makefile.am.i +data/README.i +data/autogen.sh.i +data/configure.ac.i +data/doxygen.am.i +data/doxygen.cfg.in.i +data/libsvdrp.pc.in.i +data/m4/ax_prog_doxygen.m4.i +data/m4/shave.m4.i +data/shave-libtool.in.i +data/shave.in.i +data/src/Makefile.am.i +data/src/bin/Makefile.am.i +data/src/bin/getwakeup.c.i +data/src/lib/Makefile.am.i +data/src/lib/logs.c.i +data/src/lib/logs.h.i +data/src/lib/svdrp.c.i +data/src/lib/svdrp.h.i +data/src/lib/svdrp_internals.c.i +data/src/lib/svdrp_internals.h.i +data/src/lib/utils.c.i +data/src/lib/utils.h.i Binary files /tmp/rrLR4nEaRL/libsvdrp-0.0.1~hg24/.hg/store/undo and /tmp/sdE1Nncmpg/libsvdrp-0.0.1~hg35/.hg/store/undo differ diff -Nru libsvdrp-0.0.1~hg24/.hg/tags.cache libsvdrp-0.0.1~hg35/.hg/tags.cache --- libsvdrp-0.0.1~hg24/.hg/tags.cache 1970-01-01 00:00:00.000000000 +0000 +++ libsvdrp-0.0.1~hg35/.hg/tags.cache 2010-11-13 14:03:10.000000000 +0000 @@ -0,0 +1,2 @@ +35 c934d5015968b732a5779f3f7d3f2ccff4ba3199 + diff -Nru libsvdrp-0.0.1~hg24/.hg/undo.branch libsvdrp-0.0.1~hg35/.hg/undo.branch --- libsvdrp-0.0.1~hg24/.hg/undo.branch 1970-01-01 00:00:00.000000000 +0000 +++ libsvdrp-0.0.1~hg35/.hg/undo.branch 2010-11-13 14:03:10.000000000 +0000 @@ -0,0 +1 @@ +default \ No newline at end of file diff -Nru libsvdrp-0.0.1~hg24/src/bin/getwakeup.c libsvdrp-0.0.1~hg35/src/bin/getwakeup.c --- libsvdrp-0.0.1~hg24/src/bin/getwakeup.c 2010-04-22 00:56:29.000000000 +0000 +++ libsvdrp-0.0.1~hg35/src/bin/getwakeup.c 2010-11-13 14:03:10.000000000 +0000 @@ -26,7 +26,7 @@ #include #include -#define WAKEUP_MARGIN 10 +#define DEFAULT_WAKEUP_MARGIN 10 int main (int argc, char **argv) { @@ -42,12 +42,14 @@ int ret = 0; char time_str[256]; int option = -1; + int wakeup_margin = DEFAULT_WAKEUP_MARGIN; - const char *const short_options = "v:l"; + const char *const short_options = "v:lm:h"; const struct option long_options [] = { {"verbose", required_argument, NULL, 'v'}, {"localtime", no_argument, NULL, 'l'}, {"help", no_argument, NULL, 'h'}, + {"wakeup-margin", required_argument, NULL, 'm'}, {0, 0, 0, 0} }; @@ -66,9 +68,13 @@ case 'l': convert_time=1; break; + case 'm': + fprintf(stderr, "optarg value: %s", optarg); + //wakeup_margin=atoi(optarg); + break; case 'h': default: - fprintf(stderr, "usage: %s [-h|--help] [-l|--localtime] [-v|--verbose] [none|verbose|info|warning|error|critical]]\n" \ + fprintf(stderr, "usage: %s [-h|--help] [-l|--localtime] [-m|--wakeup-margin ] [-v|--verbose] [none|verbose|info|warning|error|critical]]\n" \ " note: if your hardware clock runs on localtime, use -l for being able to use the output as bios wakeup time.\n", argv[0]); return -1; } @@ -86,7 +92,7 @@ localtime_r(&time, &tm); if (convert_time) tm.tm_sec += tm.tm_gmtoff; - tm.tm_min -= WAKEUP_MARGIN; + tm.tm_min -= wakeup_margin; mktime(&tm); strftime(time_str, 256, "%s", &tm); printf("%s\n", time_str); diff -Nru libsvdrp-0.0.1~hg24/src/lib/svdrp.c libsvdrp-0.0.1~hg35/src/lib/svdrp.c --- libsvdrp-0.0.1~hg24/src/lib/svdrp.c 2010-04-22 00:56:29.000000000 +0000 +++ libsvdrp-0.0.1~hg35/src/lib/svdrp.c 2010-11-13 14:03:10.000000000 +0000 @@ -113,11 +113,21 @@ int svdrp_next_timer_event (svdrp_t *svdrp, int *timer_id, time_t *time) { + svdrp_reply_code_t code; + svdrp_log (svdrp, SVDRP_MSG_VERBOSE, __FUNCTION__); svdrp_send(svdrp, "NEXT abs\n"); - if (svdrp_read_reply(svdrp) == SVDRP_REPLY_OK) { + code=svdrp_read_reply(svdrp); + if (code == SVDRP_REPLY_QUIT) //retry + { + svdrp_log (svdrp, SVDRP_MSG_VERBOSE, "vdr has closed connection, retrying..."); + svdrp_send(svdrp, "NEXT abs\n"); + code=svdrp_read_reply(svdrp); + } + + if (code == SVDRP_REPLY_OK) { int mytimer; struct tm tm = {0}; char *time_str = strstr(svdrp->last_reply, " ") + 1; @@ -322,6 +332,7 @@ { const int len = 10; char cmd[len]; + svdrp_reply_code_t code; svdrp_log (svdrp, SVDRP_MSG_VERBOSE, __FUNCTION__); @@ -329,7 +340,15 @@ svdrp_send(svdrp, cmd); - if (svdrp_read_reply(svdrp) == SVDRP_REPLY_OK) { + code=svdrp_read_reply(svdrp); + if (code == SVDRP_REPLY_QUIT) //retry + { + svdrp_log (svdrp, SVDRP_MSG_VERBOSE, "vdr has closed connection, retrying..."); + svdrp_send(svdrp, cmd); + code=svdrp_read_reply(svdrp); + } + + if (code == SVDRP_REPLY_OK) { unsigned char flags; char day[256], start[256], stop[256], file[256], data[256]; diff -Nru libsvdrp-0.0.1~hg24/src/lib/svdrp_internals.c libsvdrp-0.0.1~hg35/src/lib/svdrp_internals.c --- libsvdrp-0.0.1~hg24/src/lib/svdrp_internals.c 2010-04-22 00:56:29.000000000 +0000 +++ libsvdrp-0.0.1~hg35/src/lib/svdrp_internals.c 2010-11-13 14:03:10.000000000 +0000 @@ -45,7 +45,7 @@ len = readline (svdrp->conn, &line, MAXLINE); - buf = malloc(len); + buf = calloc(1, len+1); strncpy(buf, line, len); return buf; @@ -68,7 +68,7 @@ svdrp_reply_code_t svdrp_read_reply(svdrp_t *svdrp) { char *line; - char strcode[3]; + char strcode[4]={0,0,0,0}; svdrp_reply_code_t code; int read_next; @@ -78,18 +78,21 @@ svdrp_log (svdrp, SVDRP_MSG_VERBOSE, __FUNCTION__); if (!(svdrp->is_connected)) + { + svdrp_log (svdrp, SVDRP_MSG_WARNING, "svdrp not connected"); return SVDRP_ERROR; + } do { line = svdrp_read(svdrp); strncpy(strcode, line, 3); - code = atoi (line); + code = atoi (strcode); + svdrp_log (svdrp, SVDRP_MSG_VERBOSE, "vdr reply was: code %i, %s", code, line); switch (code) { case SVDRP_REPLY_HELP: case SVDRP_REPLY_EPG_DATA: - case SVDRP_REPLY_QUIT: case SVDRP_REPLY_EPG_START: case SVDRP_REPLY_ABORT: case SVDRP_REPLY_UNKNOWN_CMD: @@ -102,6 +105,10 @@ case SVDRP_REPLY_PLUGIN: /* not implemented */ break; + case SVDRP_REPLY_QUIT: + svdrp_log (svdrp, SVDRP_MSG_VERBOSE, "Vdr closed control connection"); + svdrp_close_conn(svdrp); + break; case SVDRP_REPLY_READY: svdrp_parse_banner(svdrp, line + 4); svdrp_log (svdrp, SVDRP_MSG_INFO, "Connected to VDR %s on %s (%s)", svdrp->version, svdrp->name, svdrp->charset); @@ -109,6 +116,8 @@ case SVDRP_REPLY_OK: svdrp_log (svdrp, SVDRP_MSG_INFO, "Operation successfully completed"); break; + default: + svdrp_log (svdrp, SVDRP_MSG_VERBOSE, "Unknown return code: %i", code); } if (line[3] == '-') {