* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/** @file choose.c
+/** @file server/choose.c
* @brief Random track chooser
*
* Picks a track at random and writes it to standard output. If for
struct kvp *prefs) {
const char *s;
char **track_tags;
- time_t last, now = time(0);
+ time_t last, now = xtime(0);
/* Reject tracks not in any collection (race between edit config and
* rescan) */
openlog(progname, LOG_PID, LOG_DAEMON);
log_default = &log_syslog;
}
- if(config_read(0)) fatal(0, "cannot read configuration");
+ if(config_read(0, NULL)) fatal(0, "cannot read configuration");
/* Find out current queue/recent list */
queue_read();
recent_read();
if((err = trackdb_get_global_tid("prohibited-tags", global_tid, &tags)))
fatal(0, "error getting prohibited-tags: %s", db_strerror(err));
prohibited_tags = parsetags(tags);
- if(trackdb_scan(0, collect_tracks_callback, 0, global_tid))
+ if(trackdb_scan(0, collect_tracks_callback, 0, global_tid)) {
+ global_tid->abort(global_tid);
exit(1);
+ }
trackdb_commit_transaction(global_tid);
trackdb_close();
trackdb_deinit();