31 |
stream_t stream; |
stream_t stream; |
32 |
FILE *output; |
FILE *output; |
33 |
char *filename = NULL; |
char *filename = NULL; |
|
char buffer[512]; |
|
|
off_t off = 0; |
|
|
size_t n = 0; |
|
34 |
msgset_t *msglist = NULL, *mp; |
msgset_t *msglist = NULL, *mp; |
35 |
int sender = 0; |
int sender = 0; |
36 |
size_t total_size = 0, total_lines = 0, size; |
size_t total_size = 0, total_lines = 0, size; |
38 |
if (isupper (argv[0][0])) |
if (isupper (argv[0][0])) |
39 |
sender = 1; |
sender = 1; |
40 |
else if (argc >= 2) |
else if (argc >= 2) |
41 |
filename = util_fullpath (argv[--argc]); |
filename = util_outfolder_name (argv[--argc]); |
|
/* FIXME: Should we use util_outfolder_name() and honour |
|
|
outfolder variable? */ |
|
42 |
else |
else |
43 |
filename = strdup ("mbox"); |
{ |
44 |
|
char *p = NULL; |
45 |
|
asprintf (&p, "%d", cursor); |
46 |
|
filename = util_outfolder_name (p); |
47 |
|
free (p); |
48 |
|
} |
49 |
|
|
50 |
if (msgset_parse (argc, argv, &msglist)) |
if (msgset_parse (argc, argv, &msglist)) |
51 |
{ |
{ |
52 |
if (filename) |
if (filename) |
56 |
|
|
57 |
if (sender) |
if (sender) |
58 |
{ |
{ |
59 |
filename = util_get_sender(msglist->msg_part[0], 1); |
filename = util_outfolder_name (util_get_sender(msglist->msg_part[0], 1)); |
60 |
if (!filename) |
if (!filename) |
61 |
{ |
{ |
62 |
msgset_free (msglist); |
msgset_free (msglist); |
77 |
for (mp = msglist; mp; mp = mp->next) |
for (mp = msglist; mp; mp = mp->next) |
78 |
{ |
{ |
79 |
attribute_t attr; |
attribute_t attr; |
80 |
|
char buffer[512]; |
81 |
|
off_t off = 0; |
82 |
|
size_t n = 0; |
83 |
|
|
84 |
mailbox_get_message (mbox, mp->msg_part[0], &msg); |
mailbox_get_message (mbox, mp->msg_part[0], &msg); |
85 |
message_get_body (msg, &bod); |
message_get_body (msg, &bod); |