From 6c3ea4f47ea280811a7fe53a22f7832e4533c9ec Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 26 Jun 2024 18:18:36 +0200 Subject: Adding upstream version 1:4.15.2. Signed-off-by: Daniel Baumann --- lib/mail.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 lib/mail.c (limited to 'lib/mail.c') diff --git a/lib/mail.c b/lib/mail.c new file mode 100644 index 0000000..d14bdb1 --- /dev/null +++ b/lib/mail.c @@ -0,0 +1,67 @@ +/* + * SPDX-FileCopyrightText: 1989 - 1991, Julianne Frances Haugh + * SPDX-FileCopyrightText: 1996 - 1998, Marek Michałkiewicz + * SPDX-FileCopyrightText: 2003 - 2005, Tomasz Kłoczko + * SPDX-FileCopyrightText: 2008 , Nicolas François + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include +#include "prototypes.h" +#include "defines.h" +#include +#include +#include +#include + +#include "alloc.h" +#include "getdef.h" +#include "string/sprintf.h" + +#ident "$Id$" + + +void mailcheck (void) +{ + struct stat statbuf; + char *mailbox; + + if (!getdef_bool ("MAIL_CHECK_ENAB")) { + return; + } + + /* + * Check incoming mail in Maildir format - J. + */ + mailbox = getenv ("MAILDIR"); + if (NULL != mailbox) { + char *newmail; + + xasprintf(&newmail, "%s/new", mailbox); + + if (stat (newmail, &statbuf) != -1 && statbuf.st_size != 0) { + if (statbuf.st_mtime > statbuf.st_atime) { + free(newmail); + (void) puts (_("You have new mail.")); + return; + } + } + free(newmail); + } + + mailbox = getenv ("MAIL"); + if (NULL == mailbox) { + return; + } + + if ( (stat (mailbox, &statbuf) == -1) + || (statbuf.st_size == 0)) { + (void) puts (_("No mail.")); + } else if (statbuf.st_atime > statbuf.st_mtime) { + (void) puts (_("You have mail.")); + } else { + (void) puts (_("You have new mail.")); + } +} + -- cgit v1.2.3