From 4aa9a055aafbf1bcd3de97c831b5ea7dd6aeeeb6 Mon Sep 17 00:00:00 2001 From: djcb Date: Thu, 18 Apr 2013 20:30:47 +0300 Subject: [PATCH] * mu: allow for displaying tags in mu-find output --- mu/mu-cmd-find.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/mu/mu-cmd-find.c b/mu/mu-cmd-find.c index 66a9bd89..05ec4ad8 100644 --- a/mu/mu-cmd-find.c +++ b/mu/mu-cmd-find.c @@ -325,6 +325,28 @@ ansi_reset_maybe (MuMsgFieldId mfid, gboolean color) } +static const char* +field_string_list (MuMsg *msg, MuMsgFieldId mfid) +{ + char *str; + const GSList *lst; + static char buf[80]; + + lst = mu_msg_get_field_string_list (msg, mfid); + if (!lst) + return NULL; + + str = mu_str_from_list (lst, ','); + if (str) { + strncpy (buf, str, sizeof(buf)); + g_free (str); + return buf; + } + + return NULL; +} + + static const char* display_field (MuMsg *msg, MuMsgFieldId mfid) @@ -355,6 +377,11 @@ display_field (MuMsg *msg, MuMsgFieldId mfid) case MU_MSG_FIELD_TYPE_BYTESIZE: val = mu_msg_get_field_numeric (msg, mfid); return mu_str_size_s ((unsigned)val); + case MU_MSG_FIELD_TYPE_STRING_LIST: { + const char *str; + str = field_string_list (msg, mfid); + return str ? str : ""; + } default: g_return_val_if_reached (NULL); }