git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid modifying global errno when raising event
[exim.git]
/
src
/
src
/
functions.h
diff --git
a/src/src/functions.h
b/src/src/functions.h
index 401300d94453e92265afbd2a949ec7c639fe3e9c..34a6fb7862daec4c880079f348f72def525de019 100644
(file)
--- a/
src/src/functions.h
+++ b/
src/src/functions.h
@@
-3,7
+3,7
@@
*************************************************/
/* Copyright (c) University of Cambridge 1995 - 2018 */
*************************************************/
/* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim Maintainers 2020 */
+/* Copyright (c) The Exim Maintainers 2020
- 2021
*/
/* See the file NOTICE for conditions of use and distribution. */
/* See the file NOTICE for conditions of use and distribution. */
@@
-56,7
+56,7
@@
extern BOOL tls_client_start(client_conn_ctx *, smtp_connect_args *,
extern void tls_client_creds_reload(BOOL);
extern void tls_close(void *, int);
extern void tls_client_creds_reload(BOOL);
extern void tls_close(void *, int);
-extern BOOL tls_could_
read
(void);
+extern BOOL tls_could_
getc
(void);
extern void tls_daemon_init(void);
extern int tls_daemon_tick(void);
extern BOOL tls_dropprivs_validate_require_cipher(BOOL);
extern void tls_daemon_init(void);
extern int tls_daemon_tick(void);
extern BOOL tls_dropprivs_validate_require_cipher(BOOL);
@@
-236,7
+236,7
@@
extern BOOL dscp_lookup(const uschar *, int, int *, int *, int *);
extern void enq_end(uschar *);
extern BOOL enq_start(uschar *, unsigned);
#ifndef DISABLE_EVENT
extern void enq_end(uschar *);
extern BOOL enq_start(uschar *, unsigned);
#ifndef DISABLE_EVENT
-extern uschar *event_raise(uschar *, const uschar *, uschar *);
+extern uschar *event_raise(uschar *, const uschar *, uschar *
, int *
);
extern void msg_event_raise(const uschar *, const address_item *);
#endif
extern void msg_event_raise(const uschar *, const address_item *);
#endif
@@
-478,7
+478,6
@@
extern void sha1_start(hctx *);
extern int sieve_interpret(uschar *, int, uschar *, uschar *, uschar *,
uschar *, address_item **, uschar **);
extern void sigalrm_handler(int);
extern int sieve_interpret(uschar *, int, uschar *, uschar *, uschar *,
uschar *, address_item **, uschar **);
extern void sigalrm_handler(int);
-extern BOOL smtp_buffered(void);
extern void smtp_closedown(uschar *);
extern void smtp_command_timeout_exit(void) NORETURN;
extern void smtp_command_sigterm_exit(void) NORETURN;
extern void smtp_closedown(uschar *);
extern void smtp_command_timeout_exit(void) NORETURN;
extern void smtp_command_sigterm_exit(void) NORETURN;
@@
-811,11
+810,11
@@
Returns: copy of string in new store, with letters lowercased
*/
static inline uschar *
*/
static inline uschar *
-string_copylc(const uschar *s)
+string_copylc(const uschar *
s)
{
{
-uschar *ss = store_get(Ustrlen(s) + 1, is_tainted(s));
-uschar *p = ss;
-while (*s
!= 0
) *p++ = tolower(*s++);
+uschar *
ss = store_get(Ustrlen(s) + 1, is_tainted(s));
+uschar *
p = ss;
+while (*s) *p++ = tolower(*s++);
*p = 0;
return ss;
}
*p = 0;
return ss;
}
@@
-837,7
+836,7
@@
Returns: copy of string in new store, with letters lowercased
*/
static inline uschar *
*/
static inline uschar *
-string_copynlc(uschar *s, int n)
+string_copynlc(uschar *
s, int n)
{
uschar *ss = store_get(n + 1, is_tainted(s));
uschar *p = ss;
{
uschar *ss = store_get(n + 1, is_tainted(s));
uschar *p = ss;
@@
-1255,6
+1254,14
@@
child_open(uschar **argv, uschar **envp, int newumask, int *infdptr,
outfdptr, make_leader, purpose);
}
outfdptr, make_leader, purpose);
}
+/* Return 1 if fd is usable per pollbits, else 0 */
+static inline int
+poll_one_fd(int fd, short pollbits, int tmo_millisec)
+{
+struct pollfd p = {.fd = fd, .events = pollbits};
+return poll(&p, 1, tmo_millisec);
+}
+
# endif /* !COMPILE_UTILITY */
/******************************************************************************/
# endif /* !COMPILE_UTILITY */
/******************************************************************************/