static SCM msg_string_list_field (MuMsg *msg, MuMsgFieldId mfid) { SCM scmlst; const GSList *lst; lst = mu_msg_get_field_string_list (msg, mfid); for (scmlst = SCM_EOL; lst; lst = g_slist_next(lst)) { SCM item; item = scm_list_1 (mu_guile_scm_from_str((const char*)lst->data)); scmlst = scm_append_x (scm_list_2(scmlst, item)); } return scmlst; }
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; }