This helps code analysis tools.
#define NELEM(array) (sizeof(array) / sizeof((array)[0]))
#endif
+#ifndef __dead2
+#define __dead2 __attribute__((__noreturn__))
+#endif
+
#define RELAYHOST "127.0.0.1"
#define READ_BUFSIZE 2048
#define DEFAULT_RECIPDELIM "+" /* Default recipient delimiter */
#pragma once
-void send_help(struct ml *ml, const char *queuefilename, const char *emailaddr);
+void send_help(struct ml *ml, const char *queuefilename, const char *emailaddr) __dead2;
void send_help_noexit(struct ml *ml, const char *queuefilename, const char *emailaddr);
#include "mlmmj.h"
-void send_list(struct ml *ml, const char *emailaddr);
+void send_list(struct ml *ml, const char *emailaddr) __dead2;
struct subs_list_state;
struct subs_list_state *init_subs_list(int fd, const char *dirname);
void rewind_subs_list(void *state);
return (true);
}
-static void
+__dead2 static void
lc_sub(struct listcontrol *lc, struct ml *ml, struct sub *sub)
{
if (!is_valid_email(lc->fromemail, sub->typereq))