#include "log.h"
#include "queue.h"
#include "client.h"
-#include "wstat.h"
+#if !_WIN32
+# include "wstat.h"
+#endif
#include "table.h"
#include "charset.h"
#include "kvp.h"
#include "sink.h"
#include "mem.h"
#include "defs.h"
-#include "authorize.h"
+#if !_WIN32
+# include "authorize.h"
+#endif
#include "vector.h"
#include "version.h"
#include "dateparse.h"
if(q->scratched) xprintf(" scratched by %s\n",
nullcheck(utf82mb(q->scratched)));
else xprintf(" %s\n", playing_states[q->state]);
+#if _WIN32
+ if(q->wstat) xprintf(" %#x\n", q->wstat);
+#else
if(q->wstat) xprintf(" %s\n", wstat(q->wstat));
+#endif
}
static void cf_playing(char attribute((unused)) **argv) {
cf_somequeue(disorder_queue);
}
+#if _WIN32
+# define nl_langinfo(whatever) "ascii" /* hack */
+#endif
+
static void cf_quack(char attribute((unused)) **argv) {
if(!strcasecmp(nl_langinfo(CODESET), "utf-8")) {
#define TL "\xE2\x95\xAD"
return s[0] == '/';
}
+#if !_WIN32
static void cf_authorize(char **argv) {
authorize(getclient(), argv[0], argv[1]);
}
+#endif
static void cf_resolve(char **argv) {
char *track;
"Adopt a randomly picked track" },
{ "allfiles", 1, 2, cf_allfiles, isarg_regexp, "DIR [~REGEXP]",
"List all files and directories in DIR" },
+#if !_WIN32
{ "authorize", 1, 2, cf_authorize, isarg_rights, "USERNAME [RIGHTS]",
"Authorize user USERNAME to connect" },
+#endif
{ "deluser", 1, 1, cf_deluser, 0, "USERNAME",
"Delete user USERNAME" },
{ "dirs", 1, 2, cf_dirs, isarg_regexp, "DIR [~REGEXP]",
const char *user = 0, *password = 0;
mem_init();
+ network_init();
#if HAVE_PCRE_H
/* garbage-collect PCRE's memory */
pcre_malloc = xmalloc;