X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=command.c;h=69564336c6f8228a072f699ad83dbbe19d154338;hp=3943d6dce76ad83ba0eed281e9756d8f58904e6e;hb=fe3d9cd155b5eac8706015854c343440823e12da;hpb=408371cd5c6c06cdbd51513ab49ff0bc376cda26 diff --git a/command.c b/command.c index 3943d6dc..69564336 100644 --- a/command.c +++ b/command.c @@ -111,14 +111,14 @@ static unsigned get_status(struct misc_meta_data *nmmd, bool parser_friendly, * clang is not smart enough to prove this and complains nevertheless. * Casting the return value to void silences clang. */ - (void)WRITE_STATUS_ITEM(&b, SI_STATUS, "%s\n", status); - (void)WRITE_STATUS_ITEM(&b, SI_STATUS_FLAGS, "%s\n", flags); - (void)WRITE_STATUS_ITEM(&b, SI_OFFSET, "%li\n", offset); - (void)WRITE_STATUS_ITEM(&b, SI_AFS_MODE, "%s\n", mmd->afs_mode_string); - (void)WRITE_STATUS_ITEM(&b, SI_STREAM_START, "%lu.%lu\n", + (void)WRITE_STATUS_ITEM(&b, SI_status, "%s\n", status); + (void)WRITE_STATUS_ITEM(&b, SI_status_flags, "%s\n", flags); + (void)WRITE_STATUS_ITEM(&b, SI_offset, "%li\n", offset); + (void)WRITE_STATUS_ITEM(&b, SI_afs_mode, "%s\n", mmd->afs_mode_string); + (void)WRITE_STATUS_ITEM(&b, SI_stream_start, "%lu.%lu\n", (long unsigned)nmmd->stream_start.tv_sec, (long unsigned)nmmd->stream_start.tv_usec); - (void)WRITE_STATUS_ITEM(&b, SI_CURRENT_TIME, "%lu.%lu\n", + (void)WRITE_STATUS_ITEM(&b, SI_current_time, "%lu.%lu\n", (long unsigned)current_time.tv_sec, (long unsigned)current_time.tv_usec); free(flags); @@ -227,7 +227,7 @@ static int check_sender_args(struct command_context *cc, struct lls_parse_result *lpr, struct sender_command_data *scd) { int i, ret; - const char *subcmds[] = {SENDER_SUBCOMMANDS}; + const char * const subcmds[] = {SENDER_SUBCOMMANDS}; const char *arg; char *errctx; unsigned num_inputs = lls_num_inputs(lpr); @@ -426,41 +426,40 @@ EXPORT_SERVER_CMD_HANDLER(version); /** These status items are cleared if no audio file is currently open. */ #define EMPTY_STATUS_ITEMS \ - ITEM(PATH) \ - ITEM(DIRECTORY) \ - ITEM(BASENAME) \ - ITEM(SCORE) \ - ITEM(ATTRIBUTES_BITMAP) \ - ITEM(ATTRIBUTES_TXT) \ - ITEM(HASH) \ - ITEM(IMAGE_ID) \ - ITEM(IMAGE_NAME) \ - ITEM(LYRICS_ID) \ - ITEM(LYRICS_NAME) \ - ITEM(BITRATE) \ - ITEM(FORMAT) \ - ITEM(FREQUENCY) \ - ITEM(CHANNELS) \ - ITEM(DURATION) \ - ITEM(SECONDS_TOTAL) \ - ITEM(NUM_PLAYED) \ - ITEM(LAST_PLAYED) \ - ITEM(TECHINFO) \ - ITEM(ARTIST) \ - ITEM(TITLE) \ - ITEM(YEAR) \ - ITEM(ALBUM) \ - ITEM(COMMENT) \ - ITEM(MTIME) \ - ITEM(FILE_SIZE) \ - ITEM(CHUNK_TIME) \ - ITEM(NUM_CHUNKS) \ - ITEM(AMPLIFICATION) \ + ITEM(path) \ + ITEM(directory) \ + ITEM(basename) \ + ITEM(score) \ + ITEM(attributes_bitmap) \ + ITEM(attributes_txt) \ + ITEM(hash) \ + ITEM(image_id) \ + ITEM(image_name) \ + ITEM(lyrics_id) \ + ITEM(lyrics_name) \ + ITEM(bitrate) \ + ITEM(format) \ + ITEM(frequency) \ + ITEM(channels) \ + ITEM(duration) \ + ITEM(seconds_total) \ + ITEM(num_played) \ + ITEM(last_played) \ + ITEM(techinfo) \ + ITEM(artist) \ + ITEM(title) \ + ITEM(year) \ + ITEM(album) \ + ITEM(comment) \ + ITEM(mtime) \ + ITEM(file_size) \ + ITEM(chunk_time) \ + ITEM(num_chunks) \ + ITEM(amplification) \ -/** - * Write a list of audio-file related status items with empty values. - * - * This is used by vss when currently no audio file is open. +/* + * Create a set of audio-file related status items with empty values. These are + * written to stat clients when no audio file is open. */ static unsigned empty_status_items(bool parser_friendly, char **result) { @@ -893,7 +892,7 @@ __noreturn void handle_connect(int fd, const char *peername) unsigned char challenge_hash[HASH_SIZE]; char *command = NULL, *buf = para_malloc(HANDSHAKE_BUFSIZE) /* must be on the heap */; size_t numbytes; - struct command_context cc_struct = {.peer = peername}, *cc = &cc_struct; + struct command_context cc_struct = {.u = NULL}, *cc = &cc_struct; struct iovec iov; struct connection_features cf;