From 91e54c6f425ffdb801afdd3cfbb73a835290180c Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sun, 11 Nov 2007 20:22:18 +0100 Subject: [PATCH] Introduce make_empty_status_items(). At the end of the stream we have to reset the status items because audiod would start a new receiver otherwise. --- afs.h | 1 + aft.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ vss.c | 1 + 3 files changed, 47 insertions(+) diff --git a/afs.h b/afs.h index b9c77068..f15b8c55 100644 --- a/afs.h +++ b/afs.h @@ -108,6 +108,7 @@ struct ls_data { HASH_TYPE *hash; }; int make_status_items(struct ls_data *d, struct para_buffer *pb); +void make_empty_status_items(char *buf); #define VERBOSE_LS_OUTPUT_SIZE 4096 diff --git a/aft.c b/aft.c index fa85e4e1..57df793f 100644 --- a/aft.c +++ b/aft.c @@ -971,6 +971,51 @@ static int print_list_item(struct ls_data *d, struct ls_options *opts, return 1; } +void make_empty_status_items(char *buf) +{ + sprintf(buf, + "%s:\n" /* path */ + "%s:\n" /* dirname */ + "%s:\n" /* basename */ + "%s:\n" /* score */ + "%s:\n" /* attributes bitnmap */ + "%s:\n" /* attributes txt */ + "%s:\n" /* hash */ + "%s:\n" /* image id */ + "%s:\n" /* image name */ + "%s:\n" /* lyrics id */ + "%s:\n" /* lyrics name */ + "%s:\n" /* bitrate */ + "%s:\n" /* format */ + "%s:\n" /* frequency */ + "%s:\n" /* channels */ + "%s:\n" /* duration */ + "%s:\n" /* seconds total */ + "%s:\n" /* num played */ + "%s:\n" /* last played */ + , + status_item_list[SI_PATH], + status_item_list[SI_DIRECTORY], + status_item_list[SI_BASENAME], + status_item_list[SI_SCORE], + status_item_list[SI_ATTRIBUTES_BITMAP], + status_item_list[SI_ATTRIBUTES_TXT], + status_item_list[SI_HASH], + status_item_list[SI_IMAGE_ID], + status_item_list[SI_IMAGE_NAME], + status_item_list[SI_LYRICS_ID], + status_item_list[SI_LYRICS_NAME], + status_item_list[SI_BITRATE], + status_item_list[SI_FORMAT], + status_item_list[SI_FREQUENCY], + status_item_list[SI_CHANNELS], + status_item_list[SI_DURATION], + status_item_list[SI_SECONDS_TOTAL], + status_item_list[SI_NUM_PLAYED], + status_item_list[SI_LAST_PLAYED] + ); +} + int make_status_items(struct ls_data *d, struct para_buffer *pb) { struct ls_options opts = { diff --git a/vss.c b/vss.c index 0290ab75..75cf0f87 100644 --- a/vss.c +++ b/vss.c @@ -197,6 +197,7 @@ static void vss_eof(void) status_item_list[SI_TAGINFO1], status_item_list[SI_TAGINFO2]); strncpy(mmd->afd.afhi.info_string, tmp, sizeof(mmd->afd.afhi.info_string)); mmd->afd.afhi.info_string[sizeof(mmd->afd.afhi.info_string) - 1] = '\0'; + make_empty_status_items(mmd->afd.verbose_ls_output); free(tmp); mmd->mtime = 0; mmd->size = 0; -- 2.39.2