size_t bufsize,
const char *fmt,
...)
- attribute((format (printf, 3, 4)));
+#ifndef INHIBIT_PRINTF_FORMAT_CHECKING
+ attribute((format (printf, 3, 4)))
+#endif
+ ;
/* analogues of [v]snprintf */
int byte_vasprintf(char **ptrp,
int byte_asprintf(char **ptrp,
const char *fmt,
...)
- attribute((format (printf, 2, 3)));
+#ifndef INHIBIT_PRINTF_FORMAT_CHECKING
+ attribute((format (printf, 2, 3)))
+#endif
+ ;
/* analogues of [v]asprintf (uses xmalloc/xrealloc) */
int byte_xvasprintf(char **ptrp,
int byte_xasprintf(char **ptrp,
const char *fmt,
...)
- attribute((format (printf, 2, 3)));
+#ifndef INHIBIT_PRINTF_FORMAT_CHECKING
+ attribute((format (printf, 2, 3)))
+#endif
+ ;
/* same but terminate on error */
int byte_vfprintf(FILE *fp, const char *fmt, va_list ap);
int byte_fprintf(FILE *fp, const char *fmt, ...)
- attribute((format (printf, 2, 3)));
+#ifndef INHIBIT_PRINTF_FORMAT_CHECKING
+ attribute((format (printf, 2, 3)))
+#endif
+ ;
/* analogues of [v]fprintf */
#endif /* PRINTF_H */
const char *who,
struct kvp *actiondata) {
const char *track = kvp_get(actiondata, "track");
+ const char *rtrack = 0;
struct queue_entry *q;
/* This stuff has rather a lot in common with c_play() */
disorder_error(0, "scheduled event %s: no such track as %s", id, track);
return;
}
- if(!(track = trackdb_resolve(track))) {
+ if(!(rtrack = trackdb_resolve(track))) {
disorder_error(0, "scheduled event %s: cannot resolve track %s", id, track);
return;
}
- disorder_info("scheduled event %s: %s play %s", id, who, track);
- q = queue_add(track, who, WHERE_START, NULL, origin_scheduled);
+ disorder_info("scheduled event %s: %s play %s", id, who, rtrack);
+ q = queue_add(rtrack, who, WHERE_START, NULL, origin_scheduled);
queue_write();
if(q == qhead.next && playing)
prepare(ev, q);