X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=aft.c;h=1f7332c8fcb7c8894ee32216de13d7bd2730ab08;hp=7027e7f95d45104c559cd5720ebd377fc2d047a8;hb=f70b292af4612e44241574b3ac6cd069eafed337;hpb=e752cdeab213b329552e1eecd5687bca512217c5 diff --git a/aft.c b/aft.c index 7027e7f9..1f7332c8 100644 --- a/aft.c +++ b/aft.c @@ -723,18 +723,19 @@ static void get_duration_buf(int seconds, char *buf, struct ls_options *opts) } } -static char *make_attribute_lines(const char *att_bitmap, struct afs_info *afsi) +static int make_attribute_lines(const char *att_bitmap, struct afs_info *afsi, + char **result) { - char *att_text, *att_lines; + char *att_text; + int ret = get_attribute_text(&afsi->attributes, " ", &att_text); - get_attribute_text(&afsi->attributes, " ", &att_text); - if (!att_text) - return para_strdup(att_bitmap); - att_lines = make_message("%s: %s\n%s: %s", + if (ret < 0) + return ret; + *result = make_message("%s: %s\n%s: %s", status_item_list[SI_ATTRIBUTES_BITMAP], att_bitmap, status_item_list[SI_ATTRIBUTES_TXT], att_text); free(att_text); - return att_lines; + return 1; } static char *make_lyrics_lines(struct afs_info *afsi) @@ -878,7 +879,9 @@ static int print_list_item(struct ls_data *d, struct ls_options *opts, goto out; } hash_to_asc(d->hash, asc_hash); - att_lines = make_attribute_lines(att_buf, afsi); + ret = make_attribute_lines(att_buf, afsi, &att_lines); + if (ret < 0) + goto out; lyrics_lines = make_lyrics_lines(afsi); image_lines = make_image_lines(afsi); filename_lines = make_filename_lines(d->path, opts->flags);