NeoMutt  2025-12-11-694-ga89709
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
msg_commit()

Save changes to an email. More...

+ Collaboration diagram for msg_commit():

Functions

static int comp_msg_commit (struct Mailbox *m, struct Message *msg)
 Save changes to an email - Implements MxOps::msg_commit() -.
 
int imap_msg_commit (struct Mailbox *m, struct Message *msg)
 Save changes to an email - Implements MxOps::msg_commit() -.
 
int maildir_msg_commit (struct Mailbox *m, struct Message *msg)
 Save changes to an email - Implements MxOps::msg_commit() -.
 
static int mbox_msg_commit (struct Mailbox *m, struct Message *msg)
 Save changes to an email - Implements MxOps::msg_commit() -.
 
static int mmdf_msg_commit (struct Mailbox *m, struct Message *msg)
 Save changes to an email - Implements MxOps::msg_commit() -.
 
static int mh_msg_commit (struct Mailbox *m, struct Message *msg)
 Save changes to an email - Implements MxOps::msg_commit() -.
 
static int nm_msg_commit (struct Mailbox *m, struct Message *msg)
 Save changes to an email - Implements MxOps::msg_commit() -.
 

Detailed Description

Save changes to an email.

Parameters
mMailbox
msgMessage to commit
Return values
0Success
-1Failure
Precondition
m is not NULL
msg is not NULL

Function Documentation

◆ comp_msg_commit()

static int comp_msg_commit ( struct Mailbox * m,
struct Message * msg )
static

Save changes to an email - Implements MxOps::msg_commit() -.

Definition at line 760 of file compress.c.

761{
762 if (!m->compress_info)
763 return -1;
764
765 struct CompressInfo *ci = m->compress_info;
766
767 const struct MxOps *ops = ci->child_ops;
768 if (!ops)
769 return -1;
770
771 /* Delegate */
772 return ops->msg_commit(m, msg);
773}
Private data for compress.
Definition lib.h:61
const struct MxOps * child_ops
callbacks of de-compressed file
Definition lib.h:66
void * compress_info
Compressed mbox module private data.
Definition mailbox.h:120
Definition mxapi.h:87
int(* msg_commit)(struct Mailbox *m, struct Message *msg)
Definition mxapi.h:243

◆ imap_msg_commit()

int imap_msg_commit ( struct Mailbox * m,
struct Message * msg )

Save changes to an email - Implements MxOps::msg_commit() -.

Note
May also return EOF Failure, see errno

Definition at line 2198 of file message.c.

2199{
2200 int rc = mutt_file_fclose(&msg->fp);
2201 if (rc != 0)
2202 return rc;
2203
2204 return imap_append_message(m, msg);
2205}
#define mutt_file_fclose(FP)
Definition file.h:139
int imap_append_message(struct Mailbox *m, struct Message *msg)
Write an email back to the server.
Definition message.c:1552
FILE * fp
pointer to the message data
Definition message.h:35
+ Here is the call graph for this function:

◆ maildir_msg_commit()

int maildir_msg_commit ( struct Mailbox * m,
struct Message * msg )

Save changes to an email - Implements MxOps::msg_commit() -.

Definition at line 628 of file message.c.

629{
630 return maildir_commit_message(m, msg, NULL);
631}
static int maildir_commit_message(struct Mailbox *m, struct Message *msg, struct Email *e)
Commit a message to a maildir folder.
Definition message.c:364
+ Here is the call graph for this function:

◆ mbox_msg_commit()

static int mbox_msg_commit ( struct Mailbox * m,
struct Message * msg )
static

Save changes to an email - Implements MxOps::msg_commit() -.

Definition at line 1506 of file mbox.c.

1507{
1508 if (fputc('\n', msg->fp) == EOF)
1509 return -1;
1510
1511 if ((fflush(msg->fp) == EOF) || (fsync(fileno(msg->fp)) == -1))
1512 {
1513 mutt_perror(_("Can't write message"));
1514 return -1;
1515 }
1516
1517 return 0;
1518}
#define mutt_perror(...)
Definition logging2.h:95
#define _(a)
Definition message.h:28

◆ mmdf_msg_commit()

static int mmdf_msg_commit ( struct Mailbox * m,
struct Message * msg )
static

Save changes to an email - Implements MxOps::msg_commit() -.

Definition at line 1627 of file mbox.c.

1628{
1629 if (fputs(MMDF_SEP, msg->fp) == EOF)
1630 return -1;
1631
1632 if ((fflush(msg->fp) == EOF) || (fsync(fileno(msg->fp)) == -1))
1633 {
1634 mutt_perror(_("Can't write message"));
1635 return -1;
1636 }
1637
1638 return 0;
1639}
#define MMDF_SEP
Definition lib.h:63

◆ mh_msg_commit()

static int mh_msg_commit ( struct Mailbox * m,
struct Message * msg )
static

Save changes to an email - Implements MxOps::msg_commit() -.

Definition at line 1174 of file mh.c.

1175{
1176 return mh_commit_msg(m, msg, NULL, true);
1177}
static int mh_commit_msg(struct Mailbox *m, struct Message *msg, struct Email *e, bool updseq)
Commit a message to an MH folder.
Definition mh.c:243
+ Here is the call graph for this function:

◆ nm_msg_commit()

static int nm_msg_commit ( struct Mailbox * m,
struct Message * msg )
static

Save changes to an email - Implements MxOps::msg_commit() -.

Return values
-1Always

Definition at line 2444 of file notmuch.c.

2445{
2446 mutt_error(_("Can't write to virtual folder"));
2447 return -1;
2448}
#define mutt_error(...)
Definition logging2.h:94