X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=command.c;h=585bb31c54b8df7395c8330f7f4d6e7b15890ad8;hp=eb15875c36b8affba5a3defdce8f787ad73026ba;hb=435ad905;hpb=a731a7c6e78fb137268b42062d9fb08b4e49a2c8 diff --git a/command.c b/command.c index eb15875c..585bb31c 100644 --- a/command.c +++ b/command.c @@ -344,7 +344,10 @@ static int com_sender(struct command_context *cc) if (ret < 0) { if (scd.sender_num < 0) return ret; - msg = senders[scd.sender_num].help(); + if (strcmp(cc->argv[2], "status") == 0) + msg = senders[scd.sender_num].status(); + else + msg = senders[scd.sender_num].help(); return send_sb(&cc->scc, msg, strlen(msg), SBD_OUTPUT, false); } @@ -364,7 +367,7 @@ static int com_sender(struct command_context *cc) usleep(100 * 1000); continue; } - memcpy(&mmd->sender_cmd_data, &scd, sizeof(scd)); + mmd->sender_cmd_data = scd; mutex_unlock(mmd_mutex); break; } @@ -374,28 +377,20 @@ static int com_sender(struct command_context *cc) /* server info */ static int com_si(struct command_context *cc) { - int i, ret; - char *msg, *ut, *sender_info = NULL; + int ret; + char *msg, *ut; if (cc->argc != 1) return -E_COMMAND_SYNTAX; mutex_lock(mmd_mutex); - for (i = 0; senders[i].name; i++) { - char *info = senders[i].info(); - sender_info = para_strcat(sender_info, info); - free(info); - } ut = get_server_uptime_str(now); ret = xasprintf(&msg, - "version: %s\n" "up: %s\nplayed: %u\n" "server_pid: %d\n" "afs_pid: %d\n" "connections (active/accepted/total): %u/%u/%u\n" "current loglevel: %s\n" - "supported audio formats: %s\n" - "%s", - version_git(), + "supported audio formats: %s\n", ut, mmd->num_played, (int)getppid(), (int)mmd->afs_pid, @@ -403,12 +398,10 @@ static int com_si(struct command_context *cc) mmd->num_commands, mmd->num_connects, conf.loglevel_arg, - AUDIO_FORMAT_HANDLERS, - sender_info + AUDIO_FORMAT_HANDLERS ); mutex_unlock(mmd_mutex); free(ut); - free(sender_info); return send_sb(&cc->scc, msg, ret, SBD_OUTPUT, false); }