summaryrefslogtreecommitdiff
path: root/libmailutils
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2020-11-15 11:26:58 +0200
committerSergey Poznyakoff <gray@gnu.org>2020-11-15 11:26:58 +0200
commit4b1f10d710b1586da5324a67d42cb19452e5ead8 (patch)
tree5139ad44a8616256c80eeacec394a47ef2611f75 /libmailutils
parent8a566e1efceb79a25deab29a4e63fb10487cb931 (diff)
downloadmailutils-4b1f10d710b1586da5324a67d42cb19452e5ead8.tar.gz
mailutils-4b1f10d710b1586da5324a67d42cb19452e5ead8.tar.bz2
Implement the MU_ATTRIBUTE_FORWARDED attribute flag.
* include/mailutils/attribute.h (MU_ATTRIBUTE_FORWARDED): New constant. (mu_attribute_is_forwarded, mu_attribute_set_forwarded) (mu_attribute_unset_forwarded): New prototypes. (MU_STATUS_BUF_SIZE): Update definition. * libmailutils/mailbox/attribute.c (mu_attribute_is_forwarded) (mu_attribute_set_forwarded) (mu_attribute_unset_forwarded): New functions. * libproto/maildir/mbox.c (info_map): Implement the 'P' flag.
Diffstat (limited to 'libmailutils')
-rw-r--r--libmailutils/mailbox/attribute.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/libmailutils/mailbox/attribute.c b/libmailutils/mailbox/attribute.c
index 28ad368d7..475a71024 100644
--- a/libmailutils/mailbox/attribute.c
+++ b/libmailutils/mailbox/attribute.c
@@ -240,6 +240,12 @@ mu_attribute_set_recent (mu_attribute_t attr)
}
int
+mu_attribute_set_forwarded (mu_attribute_t attr)
+{
+ return mu_attribute_set_flags (attr, MU_ATTRIBUTE_FORWARDED);
+}
+
+int
mu_attribute_is_userflag (mu_attribute_t attr, int flag)
{
if (attr == NULL)
@@ -311,6 +317,15 @@ mu_attribute_is_recent (mu_attribute_t attr)
}
int
+mu_attribute_is_forwarded (mu_attribute_t attr)
+{
+ int flags = 0;
+ if (mu_attribute_get_flags (attr, &flags) == 0)
+ return flags & MU_ATTRIBUTE_FORWARDED;
+ return 0;
+}
+
+int
mu_attribute_unset_userflag (mu_attribute_t attr, int flag)
{
if (attr == NULL)
@@ -362,6 +377,12 @@ mu_attribute_unset_recent (mu_attribute_t attr)
}
int
+mu_attribute_unset_forwarded (mu_attribute_t attr)
+{
+ return mu_attribute_unset_flags (attr, MU_ATTRIBUTE_FORWARDED);
+}
+
+int
mu_attribute_is_equal (mu_attribute_t attr, mu_attribute_t attr2)
{
int flags2 = 0, flags = 0;
@@ -401,6 +422,7 @@ static struct flagtrans flagtrans[] = {
{ MU_ATTRIBUTE_DRAFT, 'd' },
{ MU_ATTRIBUTE_SEEN, 'O' },
{ MU_ATTRIBUTE_READ, 'R' },
+ { MU_ATTRIBUTE_FORWARDED, 'P' },
{ 0 }
};

Return to:

Send suggestions and report system problems to the System administrator.