chiark / gitweb /
choose: Use a one-pass algorithm to select tracks.
[disorder] / server / server.c
index 5e8f2208baffd6cddba8d72034fc81c2afdb1577..79ac7b114d13d0f7ddf9410a2079e24598bda4cd 100644 (file)
@@ -272,9 +272,8 @@ static int c_remove(struct conn *c, char **vec,
   queue_remove(q, c->who);
   /* De-prepare the track. */
   abandon(c->ev, q);
-  /* If we removed a random track then add another one. */
-  if(q->state == playing_random)
-    add_random_track();
+  /* See about adding a new random track */
+  add_random_track(c->ev);
   /* Prepare whatever the next head track is. */
   if(qhead.next != &qhead)
     prepare(c->ev, qhead.next);
@@ -1154,7 +1153,7 @@ static int c_edituser(struct conn *c,
       /* Update rights for this user */
       rights_type r;
 
-      if(parse_rights(vec[1], &r, 1))
+      if(parse_rights(vec[2], &r, 1))
        for(d = connections; d; d = d->next)
          if(!strcmp(d->who, vec[0]))
            d->rights = r;