summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
a2dfdd8)
This typically means that you've finished watching the playlist.
my $st_del = $DB->prepare
("DELETE FROM playlist_position WHERE group_name = ? AND list_name = ?");
my $st_del = $DB->prepare
("DELETE FROM playlist_position WHERE group_name = ? AND list_name = ?");
+ OP: for my $op (@ops) {
if ($op =~ /^ - (.++) $/x) {
my ($list) = ($1);
must_list $list; must_member $group, $list;
if ($op =~ /^ - (.++) $/x) {
my ($list) = ($1);
must_list $list; must_member $group, $list;
@r or die "`$list' is not a member of `$group'";
my ($cur) = @r; $st_getpos->finish;
@r or die "`$list' is not a member of `$group'";
my ($cur) = @r; $st_getpos->finish;
- if ($rel eq "+") { $pos = $cur + $pos; }
- elsif ($rel eq "-") { $pos = $cur - $pos; }
+ my $end;
+ if ($rel eq "+") { $pos = $cur + $pos; $end = $n; }
+ elsif ($rel eq "-") { $pos = $cur - $pos; $end = 0; }
+ if ($pos == $end) { $st_del->execute($group, $list); next OP; }
}
0 <= $pos && $pos < $n
or die "`$list' position $pos out of range 0 .. $n";
}
0 <= $pos && $pos < $n
or die "`$list' position $pos out of range 0 .. $n";