*
* 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
*
* 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
{ "help-commands", no_argument, 0, 'H' },
{ "user", required_argument, 0, 'u' },
{ "password", required_argument, 0, 'p' },
{ "help-commands", no_argument, 0, 'H' },
{ "user", required_argument, 0, 'u' },
{ "password", required_argument, 0, 'p' },
xprintf("%s\n", nullcheck(utf82mb(vec[n])));
free_strings(nvec, vec);
}
static void cf_get_volume(char attribute((unused)) **argv) {
xprintf("%s\n", nullcheck(utf82mb(vec[n])));
free_strings(nvec, vec);
}
static void cf_get_volume(char attribute((unused)) **argv) {
- if(disorder_part(getclient(), &s, argv[0], argv[1], argv[2])) exit(EXIT_FAILURE);
+ if(disorder_part(getclient(), argv[0], argv[1], argv[2], &s)) exit(EXIT_FAILURE);
- if(disorder_new_tracks(getclient(), &vec, 0, argv[0] ? atoi(argv[0]) : 0))
+ if(disorder_new_tracks(getclient(), argv[0] ? atol(argv[0]) : 0, &vec, 0))
if(disorder_playlist_get(getclient(), argv[0], &vec, &nvec))
exit(EXIT_FAILURE);
if(disorder_playlist_get(getclient(), argv[0], &vec, &nvec))
exit(EXIT_FAILURE);
} commands[] = {
{ "adduser", 2, 3, cf_adduser, isarg_rights, "USERNAME PASSWORD [RIGHTS]",
"Create a new user" },
} commands[] = {
{ "adduser", 2, 3, cf_adduser, isarg_rights, "USERNAME PASSWORD [RIGHTS]",
"Create a new user" },
-static void wait_for_root(void) {
- const char *password;
-
- while(!trackdb_readable()) {
- disorder_info("waiting for trackdb...");
- sleep(1);
- }
- trackdb_init(TRACKDB_NO_RECOVER|TRACKDB_NO_UPGRADE);
- for(;;) {
- trackdb_open(TRACKDB_READ_ONLY);
- password = trackdb_get_password("root");
- trackdb_close();
- if(password)
- break;
- disorder_info("waiting for root user to be created...");
- sleep(1);
- }
- trackdb_deinit(NULL);
-}
-
- int n, i, j, local = 0, wfr = 0;
+ int n, i, j, local = 0;
if(!setlocale(LC_CTYPE, "")) disorder_fatal(errno, "error calling setlocale");
if(!setlocale(LC_TIME, "")) disorder_fatal(errno, "error calling setlocale");
if(!setlocale(LC_CTYPE, "")) disorder_fatal(errno, "error calling setlocale");
if(!setlocale(LC_TIME, "")) disorder_fatal(errno, "error calling setlocale");
- while((n = getopt_long(argc, argv, "+hVc:dHlNu:p:W", options, 0)) >= 0) {
+ while((n = getopt_long(argc, argv, "+hVc:dHlNu:p:", options, 0)) >= 0) {
case 'N': config_per_user = 0; break;
case 'u': user = optarg; break;
case 'p': password = optarg; break;
case 'N': config_per_user = 0; break;
case 'u': user = optarg; break;
case 'p': password = optarg; break;
/* gcrypt initialization */
if(!gcry_check_version(NULL))
disorder_fatal(0, "gcry_check_version failed");
gcry_control(GCRYCTL_INIT_SECMEM, 0);
gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
/* gcrypt initialization */
if(!gcry_check_version(NULL))
disorder_fatal(0, "gcry_check_version failed");
gcry_control(GCRYCTL_INIT_SECMEM, 0);
gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
/* accumulate command args */
while(n < argc) {
if((i = TABLE_FIND(commands, name, argv[n])) < 0)
/* accumulate command args */
while(n < argc) {
if((i = TABLE_FIND(commands, name, argv[n])) < 0)