mirror of https://github.com/djcb/mu.git
* lib: fixes for make line35/make cc10
This commit is contained in:
parent
558a6fd0b0
commit
d7dabca0b6
|
@ -106,44 +106,54 @@ get_matching_part_index (MuMsg *msg, MuMsgOptions opts,
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
accumulate_text (MuMsg *msg, MuMsgPart *part, GString **gstrp)
|
accumulate_text_message (MuMsg *msg, MuMsgPart *part, GString **gstrp)
|
||||||
{
|
{
|
||||||
if (GMIME_IS_MESSAGE(part->data)) {
|
const gchar *str;
|
||||||
const gchar *str;
|
char *adrs;
|
||||||
char *adrs;
|
GMimeMessage *mimemsg;
|
||||||
GMimeMessage *mimemsg;
|
InternetAddressList *addresses;
|
||||||
InternetAddressList *addresses;
|
|
||||||
/* put sender, recipients and subject in the string, so they
|
/* put sender, recipients and subject in the string, so they
|
||||||
* can be indexed as well */
|
* can be indexed as well */
|
||||||
mimemsg = GMIME_MESSAGE (part->data);
|
mimemsg = GMIME_MESSAGE (part->data);
|
||||||
str = g_mime_message_get_sender (mimemsg);
|
str = g_mime_message_get_sender (mimemsg);
|
||||||
g_string_append_printf
|
g_string_append_printf
|
||||||
(*gstrp, "%s%s", str ? str : "", str ? "\n" : "");
|
(*gstrp, "%s%s", str ? str : "", str ? "\n" : "");
|
||||||
str = g_mime_message_get_subject (mimemsg);
|
str = g_mime_message_get_subject (mimemsg);
|
||||||
g_string_append_printf
|
g_string_append_printf
|
||||||
(*gstrp, "%s%s", str ? str : "", str ? "\n" : "");
|
(*gstrp, "%s%s", str ? str : "", str ? "\n" : "");
|
||||||
addresses = g_mime_message_get_all_recipients (mimemsg);
|
addresses = g_mime_message_get_all_recipients (mimemsg);
|
||||||
adrs = internet_address_list_to_string (addresses, FALSE);
|
adrs = internet_address_list_to_string (addresses, FALSE);
|
||||||
g_object_unref (addresses);
|
g_object_unref (addresses);
|
||||||
g_string_append_printf
|
g_string_append_printf
|
||||||
(*gstrp, "%s%s", adrs ? adrs : "", adrs ? "\n" : "");
|
(*gstrp, "%s%s", adrs ? adrs : "", adrs ? "\n" : "");
|
||||||
g_free (adrs);
|
g_free (adrs);
|
||||||
|
|
||||||
} else if (GMIME_IS_PART (part->data)) {
|
|
||||||
GMimeContentType *ctype;
|
|
||||||
gboolean err;
|
|
||||||
char *txt;
|
|
||||||
ctype = g_mime_object_get_content_type ((GMimeObject*)part->data);
|
|
||||||
if (!g_mime_content_type_is_type (ctype, "text", "plain"))
|
|
||||||
return; /* not plain text */
|
|
||||||
txt = mu_msg_mime_part_to_string
|
|
||||||
((GMimePart*)part->data, &err);
|
|
||||||
if (txt)
|
|
||||||
g_string_append (*gstrp, txt);
|
|
||||||
g_free (txt);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
accumulate_text_part (MuMsg *msg, MuMsgPart *part, GString **gstrp)
|
||||||
|
{
|
||||||
|
GMimeContentType *ctype;
|
||||||
|
gboolean err;
|
||||||
|
char *txt;
|
||||||
|
ctype = g_mime_object_get_content_type ((GMimeObject*)part->data);
|
||||||
|
if (!g_mime_content_type_is_type (ctype, "text", "plain"))
|
||||||
|
return; /* not plain text */
|
||||||
|
txt = mu_msg_mime_part_to_string
|
||||||
|
((GMimePart*)part->data, &err);
|
||||||
|
if (txt)
|
||||||
|
g_string_append (*gstrp, txt);
|
||||||
|
g_free (txt);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
accumulate_text (MuMsg *msg, MuMsgPart *part, GString **gstrp)
|
||||||
|
{
|
||||||
|
if (GMIME_IS_MESSAGE(part->data))
|
||||||
|
accumulate_text_message (msg, part, gstrp);
|
||||||
|
else if (GMIME_IS_PART (part->data))
|
||||||
|
accumulate_text_part (msg, part, gstrp);
|
||||||
|
}
|
||||||
|
|
||||||
char*
|
char*
|
||||||
mu_msg_part_get_text (MuMsg *msg, MuMsgPart *self, MuMsgOptions opts,
|
mu_msg_part_get_text (MuMsg *msg, MuMsgPart *self, MuMsgOptions opts,
|
||||||
|
@ -273,11 +283,25 @@ get_part_size (GMimePart *part)
|
||||||
/* return TRUE; */
|
/* return TRUE; */
|
||||||
/* } */
|
/* } */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
cleanup_filename (char *fname)
|
||||||
|
{
|
||||||
|
gchar *cur;
|
||||||
|
|
||||||
|
/* remove slashes, spaces, colons... */
|
||||||
|
for (cur = fname; *cur; ++cur)
|
||||||
|
if (*cur == '/' || *cur == ' ' || *cur == ':')
|
||||||
|
*cur = '-';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static char*
|
static char*
|
||||||
mime_part_get_filename (GMimeObject *mobj, unsigned index,
|
mime_part_get_filename (GMimeObject *mobj, unsigned index,
|
||||||
gboolean construct_if_needed)
|
gboolean construct_if_needed)
|
||||||
{
|
{
|
||||||
gchar *fname, *cur;
|
gchar *fname;
|
||||||
|
|
||||||
fname = NULL;
|
fname = NULL;
|
||||||
|
|
||||||
|
@ -304,9 +328,7 @@ mime_part_get_filename (GMimeObject *mobj, unsigned index,
|
||||||
fname = g_strdup_printf ("%u.part", index);
|
fname = g_strdup_printf ("%u.part", index);
|
||||||
|
|
||||||
/* remove slashes, spaces, colons... */
|
/* remove slashes, spaces, colons... */
|
||||||
for (cur = fname; *cur; ++cur)
|
cleanup_filename (fname);
|
||||||
if (*cur == '/' || *cur == ' ' || *cur == ':')
|
|
||||||
*cur = '-';
|
|
||||||
return fname;
|
return fname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -415,14 +415,14 @@ mu_msg_to_sexp (MuMsg *msg, unsigned docid, const MuMsgIterThreadInfo *ti,
|
||||||
|
|
||||||
g_return_val_if_fail (msg, NULL);
|
g_return_val_if_fail (msg, NULL);
|
||||||
g_return_val_if_fail (!((opts & MU_MSG_OPTION_HEADERS_ONLY) &&
|
g_return_val_if_fail (!((opts & MU_MSG_OPTION_HEADERS_ONLY) &&
|
||||||
(opts & MU_MSG_OPTION_EXTRACT_IMAGES)),
|
(opts & MU_MSG_OPTION_EXTRACT_IMAGES)),NULL);
|
||||||
NULL);
|
|
||||||
gstr = g_string_sized_new
|
gstr = g_string_sized_new
|
||||||
((opts & MU_MSG_OPTION_HEADERS_ONLY) ? 1024 : 8192);
|
((opts & MU_MSG_OPTION_HEADERS_ONLY) ? 1024 : 8192);
|
||||||
g_string_append (gstr, "(\n");
|
|
||||||
|
|
||||||
if (docid != 0)
|
if (docid == 0)
|
||||||
g_string_append_printf (gstr, "\t:docid %u\n", docid);
|
g_string_append (gstr, "(\n");
|
||||||
|
else
|
||||||
|
g_string_append_printf (gstr, "(\n\t:docid %u\n", docid);
|
||||||
|
|
||||||
if (ti)
|
if (ti)
|
||||||
append_sexp_thread_info (gstr, ti);
|
append_sexp_thread_info (gstr, ti);
|
||||||
|
@ -436,14 +436,12 @@ mu_msg_to_sexp (MuMsg *msg, unsigned docid, const MuMsgIterThreadInfo *ti,
|
||||||
|
|
||||||
t = mu_msg_get_date (msg);
|
t = mu_msg_get_date (msg);
|
||||||
/* weird time format for emacs 29-bit ints...*/
|
/* weird time format for emacs 29-bit ints...*/
|
||||||
g_string_append_printf (gstr,"\t:date (%u %u 0)\n", (unsigned)(t >> 16),
|
g_string_append_printf (gstr,"\t:date (%u %u 0)\n\t:size %u\n",
|
||||||
(unsigned)(t & 0xffff));
|
(unsigned)(t >> 16), (unsigned)(t & 0xffff),
|
||||||
g_string_append_printf (gstr, "\t:size %u\n",
|
|
||||||
(unsigned)mu_msg_get_size (msg));
|
(unsigned)mu_msg_get_size (msg));
|
||||||
append_sexp_attr (gstr, "message-id", mu_msg_get_msgid (msg));
|
append_sexp_attr (gstr, "message-id", mu_msg_get_msgid (msg));
|
||||||
append_sexp_attr (gstr, "path", mu_msg_get_path (msg));
|
append_sexp_attr (gstr, "path", mu_msg_get_path (msg));
|
||||||
append_sexp_attr (gstr, "maildir", mu_msg_get_maildir (msg));
|
append_sexp_attr (gstr, "maildir", mu_msg_get_maildir (msg));
|
||||||
|
|
||||||
g_string_append_printf (gstr, "\t:priority %s\n",
|
g_string_append_printf (gstr, "\t:priority %s\n",
|
||||||
mu_msg_prio_name(mu_msg_get_prio(msg)));
|
mu_msg_prio_name(mu_msg_get_prio(msg)));
|
||||||
append_sexp_flags (gstr, msg);
|
append_sexp_flags (gstr, msg);
|
||||||
|
|
Loading…
Reference in New Issue