byte_xasprintf((char **)&name, "trackname_%s_%s", context, part);
disorder_set(dcgi_client, file, name, value);
}
- if((value = numbered_arg("random", numfile)))
+ if(numbered_arg("random", numfile))
disorder_unset(dcgi_client, file, "pick_at_random");
else
disorder_set(dcgi_client, file, "pick_at_random", "0");
* @param direction -1 for prev, +1 for next
*/
static void choose_move(int direction) {
+ assert(direction); /* placate analyzer */
/* Refocus the main view so typahead find continues to work */
gtk_widget_grab_focus(choose_view);
/* If there's no results we have nothing to do */
if(privatep) *privatep = private;
if(namep) *namep = name;
if(fullnamep) {
- if(*sharedp) *fullnamep = *namep;
+ if(shared) *fullnamep = *namep;
else byte_xasprintf(fullnamep, "%s.%s", config->username, name);
}
}
/*
* This file is part of Disobedience
- * Copyright (C) 2007 Richard Kettlewell
+ * Copyright (C) 2007-2010 Richard Kettlewell
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
if(!(pid = xfork())) {
if(setsid() < 0)
disorder_fatal(errno, "error calling setsid");
- if(!(pid = xfork())) {
+ if(!xfork()) {
/* grandchild */
exitfn = _exit;
/* log errors and output somewhere reasonably sane. rtp_running()
*/
char *cgi_sgmlquote(const char *src) {
uint32_t *ucs, c;
- int n;
struct dynstr d[1];
struct sink *s;
exit(1);
dynstr_init(d);
s = sink_dynstr(d);
- n = 1;
/* format the string */
while((c = *ucs++)) {
switch(c) {
}
c->ident = 0;
c->user = 0;
- return 0;
+ return ret;
}
/** @brief Play a track
for(i = 0; i < 10000; ++i) {
insist((ip = hash_find(h, do_printf("%d", i))) != 0);
- check_integer(*ip, i);
- insist(hash_add(h, do_printf("%d", i), &i, HASH_REPLACE) == 0);
+ if(ip) {
+ check_integer(*ip, i);
+ insist(hash_add(h, do_printf("%d", i), &i, HASH_REPLACE) == 0);
+ }
}
check_integer(hash_count(h), 10000);
keys = hash_keys(h);
const char **vec;
vec = disorder_malloc((nparameters + 2) * sizeof (char *));
- i = 0;
j = 0;
for(i = 0; i < nparameters; ++i)
vec[j++] = parameters[i];
case 'd': dump = 1; break;
case 'u': undump = 1; break;
case 'D': debugging = 1; break;
- case 'r': recover = TRACKDB_NORMAL_RECOVER;
- case 'R': recover = TRACKDB_FATAL_RECOVER;
+ case 'r': recover = TRACKDB_NORMAL_RECOVER; break;
+ case 'R': recover = TRACKDB_FATAL_RECOVER; break;
case 'a': recompute = 1; break;
case 'P': remove_pathless = 1; break;
default: disorder_fatal(0, "invalid option");
D(("start %s", q->id));
/* Find the player plugin. */
- if(!(player = find_player(q)) < 0)
+ if(!(player = find_player(q)))
return START_HARDFAIL; /* No player */
if(!(q->pl = open_plugin(player->s[1], 0)))
return START_HARDFAIL;
if(q->prepared || q->preparing)
return START_OK;
/* Find the player plugin */
- if(!(player = find_player(q)) < 0)
+ if(!(player = find_player(q)))
return START_HARDFAIL; /* No player */
q->pl = open_plugin(player->s[1], 0);
q->type = play_get_type(q->pl);
static int schedule_trigger(ev_source *ev,
const struct timeval attribute((unused)) *now,
void *u) {
- const char *action, *id = u;
+ const char *id = u;
struct kvp *actiondata = schedule_get(id);
int n;
if(!actiondata)
return 0;
- /* schedule_get() enforces these being present */
- action = kvp_get(actiondata, "action");
/* Look up the action */
n = schedule_lookup(id, actiondata);
if(n < 0)
static int c_new(struct conn *c,
char **vec,
int nvec) {
- int max, n;
+ int max;
char **tracks;
if(nvec > 0)
max = config->new_max;
tracks = trackdb_new(0, max);
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);
t->playable = 1;
rc = 0;
}
- }
+ } else
+ rc = 0;
return rc;
}