Get rid of afd->path.
authorAndre Noll <maan@systemlinux.org>
Thu, 1 Nov 2007 19:45:34 +0000 (20:45 +0100)
committerAndre Noll <maan@systemlinux.org>
Thu, 1 Nov 2007 19:45:34 +0000 (20:45 +0100)
All that info is contained in afd->afs_status_info.

afs.h
aft.c
command.c
server.c
vss.c

diff --git a/afs.h b/afs.h
index f9a4489..212ddfe 100644 (file)
--- a/afs.h
+++ b/afs.h
@@ -113,7 +113,6 @@ int make_status_items(struct ls_data *d, struct para_buffer *pb);
 
 struct audio_file_data {
        enum play_mode current_play_mode;
-       char path[_POSIX_PATH_MAX];
        char afs_status_info[AFS_STATUS_INFO_SIZE];
        int fd;
        long score;
diff --git a/aft.c b/aft.c
index 483ab25..e41073a 100644 (file)
--- a/aft.c
+++ b/aft.c
@@ -680,8 +680,6 @@ int open_and_update_audio_file(struct osl_row *aft_row, struct audio_file_data *
        ret = get_audio_file_path_of_row(aft_row, &path);
        if (ret < 0)
                return ret;
-       strncpy(afd->path, path, sizeof(afd->path) - 1);
-       afd->path[sizeof(afd->path) - 1] = '\0';
        ret = get_afsi_object_of_row(aft_row, &afsi_obj);
        if (ret < 0)
                return ret;
@@ -811,7 +809,7 @@ static char *make_attribute_lines(const char *att_bitmap, struct afs_info *afsi)
        get_attribute_text(&afsi->attributes, " ", &att_text);
        if (!att_text)
                return para_strdup(att_bitmap);
-       att_lines = make_message("%s\nattributes_txt: %s",
+       att_lines = make_message("attributes: %s\nattributes_txt: %s",
                att_bitmap, att_text);
        free(att_text);
        return att_lines;
@@ -834,6 +832,23 @@ static char *make_image_lines(struct afs_info *afsi)
                afsi->image_id, image_name? image_name : "(none)");
 }
 
+static char *make_filename_lines(const char *path, unsigned flags)
+{
+       char *basename, *dirname;
+       char *ret;
+
+       if (!(flags & LS_FLAG_FULL_PATH))
+               return make_message("%s: %s\n%s:\n", "basename", path,
+                       "dir");
+       basename = para_basename(path),
+       dirname = para_dirname(path);
+       ret = make_message("%s: %s\n%s: %s\n%s: %s\n", "path", path,
+               "dir", dirname, "basename", basename);
+       free(basename);
+       free(dirname);
+       return ret;
+}
+
 static int print_list_item(struct ls_data *d, struct ls_options *opts,
        struct para_buffer *b, time_t current_time)
 {
@@ -847,7 +862,7 @@ static int print_list_item(struct ls_data *d, struct ls_options *opts,
        struct ls_widths *w = &opts->widths;
        int have_score = opts->flags & LS_FLAG_ADMISSIBLE_ONLY;
        char asc_hash[2 * HASH_SIZE + 1];
-       char *att_lines, *lyrics_lines, *image_lines;
+       char *att_lines, *lyrics_lines, *image_lines, *filename_lines;
 
        if (opts->mode == LS_MODE_SHORT) {
                para_printf(b, "%s\n", d->path);
@@ -899,11 +914,12 @@ static int print_list_item(struct ls_data *d, struct ls_options *opts,
        att_lines = make_attribute_lines(att_buf, afsi);
        lyrics_lines = make_lyrics_lines(afsi);
        image_lines = make_image_lines(afsi);
+       filename_lines = make_filename_lines(d->path, opts->flags);
        if (opts->mode == LS_MODE_VERBOSE) {
                para_printf(b,
-                       "%s: %s\n" /* path */
+                       "%s" /* filename stuff */
                        "%s%s%s" /* score */
-                       "attributes: %s\n"
+                       "%s\n" /* attributes */
                        "hash: %s\n"
                        "%s" /* image id, image name */
                        "%s" /* lyrics */
@@ -916,8 +932,7 @@ static int print_list_item(struct ls_data *d, struct ls_options *opts,
                        "num_played: %d\n"
                        "last_played: %s\n"
                        "tag info: %s\n",
-                       (opts->flags & LS_FLAG_FULL_PATH)?
-                               "path" : "file", d->path,
+                       filename_lines,
                        have_score? "score: " : "", score_buf,
                                have_score? "\n" : "",
                        att_lines,
@@ -978,6 +993,7 @@ static int print_list_item(struct ls_data *d, struct ls_options *opts,
        free(att_lines);
        free(lyrics_lines);
        free(image_lines);
+       free(filename_lines);
        return 1;
 }
 
index 7302d3e..6e2cf56 100644 (file)
--- a/command.c
+++ b/command.c
@@ -97,7 +97,7 @@ static char *vss_get_status_flags(unsigned int flags)
 
 static char *get_status(struct misc_meta_data *nmmd)
 {
-       char *basename, *dirname, *ret, mtime[30] = "";
+       char *ret, mtime[30] = "";
        char *status, *flags; /* vss status info */
        char *ut = uptime_str();
        long offset = (nmmd->offset + 500) / 1000;
@@ -107,23 +107,24 @@ static char *get_status(struct misc_meta_data *nmmd)
        /* report real status */
        status = vss_status_tohuman(nmmd->vss_status_flags);
        flags = vss_get_status_flags(nmmd->vss_status_flags);
-       basename = para_basename(nmmd->afd.path);
-       dirname = para_dirname(nmmd->afd.path);
-       if (basename) {
+       if (nmmd->size) { /* parent currently has an audio file open */
                localtime_r(&nmmd->mtime, &mtime_tm);
                strftime(mtime, 29, "%a %b %d %Y", &mtime_tm);
        }
        gettimeofday(&now, NULL);
        ret = make_message(
-               "%s:%zu\n"      "%s:%s\n"
-               "%s:%s\n"       "%s:%s\n"       "%s:%s\n"
-               "%s:%li\n"      "%s:%s\n"
-               "%s:%s\n"       "%s:%lu.%lu\n"  "%s:%lu.%lu\n"
-               "%s:%s\n"       "%s\n",
+               "%s:%zu\n" /* file size */
+               "%s:%s\n" /* mtime */
+               "%s:%s\n" /* status */
+               "%s:%s\n" /* status flags */
+               "%s:%li\n" /* offset */
+               "%s:%s\n" /* afs mode */
+               "%s:%s\n" /* server uptime */
+               "%s:%lu.%lu\n" /* stream start */
+               "%s:%lu.%lu\n" /* current server time */
+               "%s\n", /* afs status info */
                status_item_list[SI_FILE_SIZE], nmmd->size / 1024,
                status_item_list[SI_MTIME], mtime,
-
-               status_item_list[SI_BASENAME], basename ? basename : "(none)",
                status_item_list[SI_STATUS], status,
                status_item_list[SI_STATUS_FLAGS], flags,
 
@@ -138,12 +139,9 @@ static char *get_status(struct misc_meta_data *nmmd)
                        (long unsigned)now.tv_sec,
                        (long unsigned)now.tv_usec,
 
-               status_item_list[SI_DIRECTORY], dirname? dirname : "(none)",
                nmmd->afd.afs_status_info
 
        );
-       free(basename);
-       free(dirname);
        free(flags);
        free(status);
        free(ut);
index febfe2a..479b6b2 100644 (file)
--- a/server.c
+++ b/server.c
@@ -199,7 +199,6 @@ static void shm_init(void)
        mmd->events = 0;
        mmd->num_connects = 0;
        mmd->active_connections = 0;
-       strcpy(mmd->afd.path, "(none)");
        mmd->vss_status_flags = VSS_NEXT;
        mmd->new_vss_status_flags = VSS_NEXT;
        mmd->sender_cmd_data.cmd_num = -1;
diff --git a/vss.c b/vss.c
index 1ec0b5d..cb99366 100644 (file)
--- a/vss.c
+++ b/vss.c
@@ -201,7 +201,6 @@ static void vss_eof(void)
        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';
        free(tmp);
-       mmd->afd.path[0] = '\0';
        mmd->afd.afsi.lyrics_id = 0;
        mmd->afd.afsi.image_id = 0;
        mmd->mtime = 0;
@@ -384,8 +383,6 @@ static void recv_afs_result(void)
        if (ret < 0)
                goto err;
        shm_destroy(shmid);
-       PARA_NOTICE_LOG("next audio file: %s (%lu chunks)\n", mmd->afd.path,
-               mmd->afd.afhi.chunks_total);
        ret = fstat(passed_fd, &statbuf);
        if (ret < 0) {
                PARA_ERROR_LOG("fstat error:\n");