command: omitting the range end is possible
When the range end is missing, then the maximum possible value is assumed.
This commit is contained in:
parent
e7c267db4f
commit
d69e0ab53a
1
NEWS
1
NEWS
|
@ -9,6 +9,7 @@ ver 0.16 (20??/??/??)
|
||||||
- "addid" with negative position is deprecated
|
- "addid" with negative position is deprecated
|
||||||
- "load" supports remote playlists (m3u, pls, xspf, lastfm://)
|
- "load" supports remote playlists (m3u, pls, xspf, lastfm://)
|
||||||
- allow changing replay gain mode on-the-fly
|
- allow changing replay gain mode on-the-fly
|
||||||
|
- omitting the range end is possible
|
||||||
* input:
|
* input:
|
||||||
- lastfm: obsolete plugin removed
|
- lastfm: obsolete plugin removed
|
||||||
* tags:
|
* tags:
|
||||||
|
|
|
@ -67,6 +67,20 @@
|
||||||
successful command executed in the command list.
|
successful command executed in the command list.
|
||||||
</para>
|
</para>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<title>Ranges</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Some commands (e.g. <link
|
||||||
|
linkend="command_delete"><command>delete</command></link>)
|
||||||
|
allow specifying a range in the form
|
||||||
|
<parameter>START:END</parameter> (the <varname>END</varname>
|
||||||
|
item is not included in the range, similar to ranges in the
|
||||||
|
Python programming language). If <varname>END</varname> is
|
||||||
|
omitted, then the maximum possible value is assumed.
|
||||||
|
</para>
|
||||||
|
</section>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<chapter>
|
<chapter>
|
||||||
|
|
|
@ -221,7 +221,7 @@ check_range(struct client *client, unsigned *value_r1, unsigned *value_r2,
|
||||||
|
|
||||||
if (*test == ':') {
|
if (*test == ':') {
|
||||||
value = strtol(++test, &test2, 10);
|
value = strtol(++test, &test2, 10);
|
||||||
if (*test2 != '\0' || test == test2) {
|
if (*test2 != '\0') {
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start(args, fmt);
|
va_start(args, fmt);
|
||||||
command_error_v(client, ACK_ERROR_ARG, fmt, args);
|
command_error_v(client, ACK_ERROR_ARG, fmt, args);
|
||||||
|
@ -229,6 +229,9 @@ check_range(struct client *client, unsigned *value_r1, unsigned *value_r2,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (test == test2)
|
||||||
|
value = G_MAXUINT;
|
||||||
|
|
||||||
if (value < 0) {
|
if (value < 0) {
|
||||||
command_error(client, ACK_ERROR_ARG,
|
command_error(client, ACK_ERROR_ARG,
|
||||||
"Number is negative: %s", s);
|
"Number is negative: %s", s);
|
||||||
|
|
Loading…
Reference in New Issue