chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New 'new_max' configuration bounds the number of tracks that 'new'
[disorder]
/
server
/
server.c
diff --git
a/server/server.c
b/server/server.c
index a7dee9904555a281dabc0de6850b753a542cf3bd..69129c9be600b86873f81957a6eb065186cc2b56 100644
(file)
--- a/
server/server.c
+++ b/
server/server.c
@@
-995,9
+995,18
@@
static int c_nop(struct conn *c,
static int c_new(struct conn *c,
char **vec,
int nvec) {
static int c_new(struct conn *c,
char **vec,
int nvec) {
- char **tracks = trackdb_new(0, nvec > 0 ? atoi(vec[0]) : INT_MAX);
+ int max, n;
+ char **tracks;
+ if(nvec > 0)
+ max = atoi(vec[0]);
+ else
+ max = INT_MAX;
+ if(max <= 0 || max > config->new_max)
+ max = config->new_max;
+ tracks = trackdb_new(0, max);
sink_printf(ev_writer_sink(c->w), "253 New track list follows\n");
sink_printf(ev_writer_sink(c->w), "253 New track list follows\n");
+ n = 0;
while(*tracks) {
sink_printf(ev_writer_sink(c->w), "%s%s\n",
**tracks == '.' ? "." : "", *tracks);
while(*tracks) {
sink_printf(ev_writer_sink(c->w), "%s%s\n",
**tracks == '.' ? "." : "", *tracks);