From: Andreas Ă–man Date: Mon, 21 Mar 2011 21:35:32 +0000 (+0100) Subject: Dont crash when deleting recordings and filename is not yet set. Ticket #383 X-Git-Tag: 2.99~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed2334b2cac6f3c850b5fdc230c9975cb16a5deb;p=thirdparty%2Ftvheadend.git Dont crash when deleting recordings and filename is not yet set. Ticket #383 --- diff --git a/src/dvr/dvr.h b/src/dvr/dvr.h index f31249ff3..2481d0dfe 100644 --- a/src/dvr/dvr.h +++ b/src/dvr/dvr.h @@ -274,7 +274,7 @@ void dvr_extra_time_pre_set(dvr_config_t *cfg, int d); void dvr_extra_time_post_set(dvr_config_t *cfg, int d); -int dvr_entry_delete(dvr_entry_t *de); +void dvr_entry_delete(dvr_entry_t *de); /** * Query interface diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index aa59112f0..a8678f999 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -1161,17 +1161,18 @@ dvr_val2pri(dvr_prio_t v) return val2str(v, priotab) ?: "invalid"; } -int + +/** + * + */ +void dvr_entry_delete(dvr_entry_t *de) { - if(!unlink(de->de_filename) || errno == ENOENT) { - tvhlog(LOG_DEBUG, "dvr", "Delete recording '%s'", de->de_filename); - dvr_entry_remove(de); - return 0; - } else { - tvhlog(LOG_WARNING, "dvr", "Unable to delete recording '%s' -- %s", - de->de_filename, strerror(errno)); - return -1; + if(de->de_filename != NULL) { + if(unlink(de->de_filename) && errno != ENOENT) + tvhlog(LOG_WARNING, "dvr", "Unable to remove file '%s' from disk -- %s", + de->de_filename, strerror(errno)); } + dvr_entry_remove(de); } diff --git a/src/webui/extjs.c b/src/webui/extjs.c index 7468dea20..40495d295 100644 --- a/src/webui/extjs.c +++ b/src/webui/extjs.c @@ -764,7 +764,7 @@ extjs_dvr(http_connection_t *hc, const char *remain, void *opaque) event_t *e; dvr_entry_t *de; const char *s; - int flags = 0, retval; + int flags = 0; dvr_config_t *cfg; if(op == NULL) @@ -813,10 +813,10 @@ extjs_dvr(http_connection_t *hc, const char *remain, void *opaque) return HTTP_STATUS_BAD_REQUEST; } - retval = dvr_entry_delete(de); + dvr_entry_delete(de); out = htsmsg_create_map(); - htsmsg_add_u32(out, "success", !retval); + htsmsg_add_u32(out, "success", 1); } else if(!strcmp(op, "createEntry")) {