gengetopt improvements
[paraslash.git] / command.c
index 6bee5dd55692307a56ccdc1d4df09a12d5ff9752..030289af8444ac35baddb8e10b30712a542768c9 100644 (file)
--- a/command.c
+++ b/command.c
@@ -44,7 +44,7 @@ static unsigned char rc4_buf[2 * RC4_KEY_LEN];
 extern const char *status_item_list[NUM_STAT_ITEMS];
 extern struct misc_meta_data *mmd;
 extern struct gengetopt_args_info conf;
 extern const char *status_item_list[NUM_STAT_ITEMS];
 extern struct misc_meta_data *mmd;
 extern struct gengetopt_args_info conf;
-extern struct dbtool dblist[];
+extern struct audio_file_selector dblist[];
 extern struct audio_format afl[];
 extern struct sender senders[];
 extern char *user_list;
 extern struct audio_format afl[];
 extern struct sender senders[];
 extern char *user_list;
@@ -426,11 +426,11 @@ static char *get_status(struct misc_meta_data *nmmd)
                status_item_list[SI_STATUS_BAR], bar ? bar : "(none)",
                status_item_list[SI_STATUS], status,
                status_item_list[SI_STATUS_FLAGS], flags,
                status_item_list[SI_STATUS_BAR], bar ? bar : "(none)",
                status_item_list[SI_STATUS], status,
                status_item_list[SI_STATUS_FLAGS], flags,
-               status_item_list[SI_DBTOOL], dblist[nmmd->dbt_num].name,
+               status_item_list[SI_SELECTOR], dblist[nmmd->selector_num].name,
 
                status_item_list[SI_OFFSET], offset,
                status_item_list[SI_FORMAT], audio_format_name(nmmd->audio_format),
 
                status_item_list[SI_OFFSET], offset,
                status_item_list[SI_FORMAT], audio_format_name(nmmd->audio_format),
-               nmmd->dbinfo,
+               nmmd->selector_info,
                nmmd->audio_file_info,
 
                status_item_list[SI_UPTIME], ut,
                nmmd->audio_file_info,
 
                status_item_list[SI_UPTIME], ut,
@@ -559,15 +559,15 @@ static int com_si(int fd, int argc, __unused char **argv)
 {
        int i, ret;
        char *ut;
 {
        int i, ret;
        char *ut;
-       char *dbtools = NULL, *sender_info = NULL, *sender_list = NULL;
+       char *selectors = NULL, *sender_info = NULL, *sender_list = NULL;
        struct mallinfo mi = mallinfo();
 
        if (argc)
                return -E_COMMAND_SYNTAX;
        mmd_lock();
        for (i = 0; dblist[i].name; i++) {
        struct mallinfo mi = mallinfo();
 
        if (argc)
                return -E_COMMAND_SYNTAX;
        mmd_lock();
        for (i = 0; dblist[i].name; i++) {
-               dbtools = para_strcat(dbtools, dblist[i].name);
-               dbtools = para_strcat(dbtools, " ");
+               selectors = para_strcat(selectors, dblist[i].name);
+               selectors = para_strcat(selectors, " ");
        }
        for (i = 0; senders[i].name; i++) {
                char *info = senders[i].info();
        }
        for (i = 0; senders[i].name; i++) {
                char *info = senders[i].info();
@@ -582,7 +582,7 @@ static int com_si(int fd, int argc, __unused char **argv)
                "mallinfo: %d\n"
                "connections (active/accepted/total): %u/%u/%u\n"
                "current loglevel: %i\n"
                "mallinfo: %d\n"
                "connections (active/accepted/total): %u/%u/%u\n"
                "current loglevel: %i\n"
-               "supported database tools: %s\n"
+               "supported audio file selectors: %s\n"
                "supported audio formats: %s\n"
                "supported senders: %s\n"
                "%s",
                "supported audio formats: %s\n"
                "supported senders: %s\n"
                "%s",
@@ -593,14 +593,14 @@ static int com_si(int fd, int argc, __unused char **argv)
                mmd->num_commands,
                mmd->num_connects,
                conf.loglevel_arg,
                mmd->num_commands,
                mmd->num_connects,
                conf.loglevel_arg,
-               dbtools,
+               selectors,
                SUPPORTED_AUDIO_FORMATS,
                sender_list,
                sender_info
        );
        mmd_unlock();
        free(ut);
                SUPPORTED_AUDIO_FORMATS,
                sender_list,
                sender_info
        );
        mmd_unlock();
        free(ut);
-       free(dbtools);
+       free(selectors);
        free(sender_list);
        free(sender_info);
        return ret;
        free(sender_list);
        free(sender_info);
        return ret;
@@ -676,7 +676,6 @@ static int com_sb(int socket_fd, int argc, char **argv)
 /* stat */
 static int com_stat(int socket_fd, int argc, char **argv)
 {
 /* stat */
 static int com_stat(int socket_fd, int argc, char **argv)
 {
-//     char *old_stat = NULL, *old_dbinfo = NULL;
        int ret, num = 0;/* status will be printed that many
                          * times. num <= 0 means: print forever
                          */
        int ret, num = 0;/* status will be printed that many
                          * times. num <= 0 means: print forever
                          */
@@ -735,8 +734,9 @@ static struct server_command *get_cmd_ptr(char *name, char **handler)
        /* not found, look for commands supported by the current selector */
        mmd_lock();
        if (handler)
        /* not found, look for commands supported by the current selector */
        mmd_lock();
        if (handler)
-               *handler = make_message("the %s database tool", dblist[mmd->dbt_num].name);
-       cmd = dblist[mmd->dbt_num].cmd_list;
+               *handler = make_message("the %s selector",
+                       dblist[mmd->selector_num].name);
+       cmd = dblist[mmd->selector_num].cmd_list;
        mmd_unlock();
        for (; cmd->name; cmd++)
                if (!strcmp(cmd->name, name))
        mmd_unlock();
        for (; cmd->name; cmd++)
                if (!strcmp(cmd->name, name))
@@ -756,8 +756,8 @@ static int com_help(int fd, int argc, char **argv)
                if ((ret = send_description(fd, cmd_struct, "server", 0)) < 0)
                        return ret;
                mmd_lock();
                if ((ret = send_description(fd, cmd_struct, "server", 0)) < 0)
                        return ret;
                mmd_lock();
-               handler = para_strdup(dblist[mmd->dbt_num].name);
-               cmd = dblist[mmd->dbt_num].cmd_list;
+               handler = para_strdup(dblist[mmd->selector_num].name);
+               cmd = dblist[mmd->selector_num].cmd_list;
                mmd_unlock();
                ret = send_description(fd, cmd, handler, 0);
                free(handler);
                mmd_unlock();
                ret = send_description(fd, cmd, handler, 0);
                free(handler);
@@ -853,24 +853,24 @@ static int com_chs(int fd, int argc, char **argv)
        int i, ret;
 
        if (!argc) {
        int i, ret;
 
        if (!argc) {
-               char *dbtool;
+               char *selector;
                mmd_lock();
                mmd_lock();
-               dbtool = para_strdup(dblist[mmd->dbt_num].name);
+               selector = para_strdup(dblist[mmd->selector_num].name);
                mmd_unlock();
                mmd_unlock();
-               ret = send_va_buffer(fd, "%s\n", dbtool);
-               free(dbtool);
+               ret = send_va_buffer(fd, "%s\n", selector);
+               free(selector);
                return ret;
        }
        for (i = 0; dblist[i].name; i++) {
                if (strcmp(dblist[i].name, argv[1]))
                        continue;
                mmd_lock();
                return ret;
        }
        for (i = 0; dblist[i].name; i++) {
                if (strcmp(dblist[i].name, argv[1]))
                        continue;
                mmd_lock();
-               mmd->dbt_change = i;
+               mmd->selector_change = i;
                mmd->events++;
                mmd_unlock();
                return 1;
        }
                mmd->events++;
                mmd_unlock();
                return 1;
        }
-       return -E_BAD_DBTOOL;
+       return -E_BAD_SELECTOR;
 }
 
 /* next */
 }
 
 /* next */
@@ -879,6 +879,7 @@ static int com_next(__unused int socket_fd, int argc, __unused char **argv)
        if (argc)
                return -E_COMMAND_SYNTAX;
        mmd_lock();
        if (argc)
                return -E_COMMAND_SYNTAX;
        mmd_lock();
+       mmd->events++;
        mmd->new_afs_status_flags |= AFS_NEXT;
        mmd_unlock();
        return 1;
        mmd->new_afs_status_flags |= AFS_NEXT;
        mmd_unlock();
        return 1;
@@ -1204,7 +1205,6 @@ int handle_connect(int fd, struct sockaddr_in *addr)
        /* valid command and sufficient perms */
        alarm(0);
        argc = split_args(command, &argv, '\n');
        /* valid command and sufficient perms */
        alarm(0);
        argc = split_args(command, &argv, '\n');
-       argv[0] = cmd->name;
        mmd_lock();
        mmd->num_commands++;
        mmd_unlock();
        mmd_lock();
        mmd->num_commands++;
        mmd_unlock();