char buf[40];
int save = 0;
- if (!dvr_entry_is_editable(de))
- return de;
+ if (!dvr_entry_is_editable(de)) {
+ if (stop < dispatch_clock)
+ stop = dispatch_clock;
+ if (stop < de->de_start)
+ stop = de->de_start;
+ if (stop != de->de_stop) {
+ de->de_stop = stop;
+ save = 1;
+ }
+ if (stop_extra && (stop_extra != de->de_stop_extra)) {
+ de->de_stop_extra = stop_extra;
+ save = 1;
+ }
+ goto dosave;
+ }
/* Start/Stop */
if (e) {
}
/* Save changes */
+dosave:
if (save) {
idnode_changed(&de->de_id);
htsp_dvr_entry_update(de);