#define _SENDLIB_C 1
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <lib-lib/lib-lib.h>
-#include <string.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <errno.h>
-#include <ctype.h>
-#include <sys/stat.h>
#include <signal.h>
-#include <sys/wait.h>
-#include <fcntl.h>
#include <sys/utsname.h>
-#include <lib-lib/mem.h>
-#include <lib-lib/ascii.h>
-#include <lib-lib/str.h>
-#include <lib-lib/macros.h>
-#include <lib-lib/file.h>
-
#include <lib-sys/exit.h>
#include <lib-sys/mutt_signal.h>
-
#include <lib-mime/mime.h>
-
#include <lib-ui/curses.h>
#include "mutt.h"
#undef APPEND_FMT
}
-char *mutt_gen_msgid (void)
+static char *mutt_gen_msgid (void)
{
char buf[SHORT_STRING];
char localpart[SHORT_STRING];
setsid ();
/* next we close all open files */
-#if defined(OPEN_MAX)
- for (fd = 0; fd < OPEN_MAX; fd++)
- close (fd);
-#elif defined(_POSIX_OPEN_MAX)
- for (fd = 0; fd < _POSIX_OPEN_MAX; fd++)
+ for (fd = 0; fd < getdtablesize(); fd++)
close (fd);
-#else
- close (0);
- close (1);
- close (2);
-#endif
/* now the second fork() */
if ((pid = fork ()) == 0) {
return ret;
}
-
-/* given a list of addresses, return a list of unique addresses */
-address_t *mutt_remove_duplicates (address_t * addr)
-{
- address_t *top = addr;
- address_t **last = ⊤
- address_t *tmp;
- int dodup = 0;
-
- while (addr) {
- for (tmp = top; tmp && tmp != addr; tmp = tmp->next) {
- if (tmp->mailbox && addr->mailbox &&
- !ascii_strcasecmp (addr->mailbox, tmp->mailbox)) {
- dodup = 1;
- break;
- }
- }
-
- if (dodup) {
- *last = addr->next;
-
- addr->next = NULL;
- address_list_wipe(&addr);
-
- addr = *last;
- }
- else {
- last = &addr->next;
- addr = addr->next;
- }
- }
-
- return (top);
-}
-
static void set_noconv_flags (BODY * b, short flag)
{
for (; b; b = b->next) {