Coverage Report

Created: 2023-06-29 07:00

/src/dovecot/src/lib/lib.h
Line
Count
Source (jump to first uncovered line)
1
#ifndef LIB_H
2
#define LIB_H
3
4
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
5
#  define __BSD_VISIBLE 1
6
#elif defined(__APPLE__)
7
#  define _DARWIN_C_SOURCE 1
8
#endif
9
#define _BSD_SOURCE 1
10
#define _DEFAULT_SOURCE 1
11
#define _POSIX_C_SOURCE 200809L
12
#define _XOPEN_SOURCE 700
13
14
/* default lib includes */
15
#ifdef HAVE_CONFIG_H
16
#  include "config.h"
17
#endif
18
19
/* default system includes - keep these at minimum.. */
20
#include <stddef.h> /* Solaris defines NULL wrong unless this is used */
21
#include <stdlib.h>
22
#include <string.h> /* strcmp() etc. */
23
#ifdef HAVE_STRINGS_H
24
#  include <strings.h> /* strcasecmp() etc. */
25
#endif
26
#include <stdarg.h> /* va_list is used everywhere */
27
#include <limits.h> /* INT_MAX, etc. */
28
#include <errno.h> /* error checking is good */
29
#include <sys/types.h> /* many other includes want this */
30
#include <stdint.h> /* C99 int types, we mostly need uintmax_t */
31
#include <inttypes.h> /* PRI* macros */
32
#ifndef __cplusplus
33
#  include <stdbool.h>
34
#endif
35
36
#include "compat.h"
37
#include "macros.h"
38
#include "failures.h"
39
40
#include "malloc-overflow.h"
41
#include "data-stack.h"
42
#include "mempool.h"
43
#include "imem.h"
44
#include "byteorder.h"
45
#include "fd-util.h"
46
47
typedef struct buffer buffer_t;
48
typedef struct buffer string_t;
49
50
struct istream;
51
struct ostream;
52
53
typedef void lib_atexit_callback_t(void);
54
55
#include "array-decl.h" /* ARRAY*()s may exist in any header */
56
#include "bits.h"
57
#include "hash-decl.h" /* HASH_TABLE*()s may exist in any header */
58
#include "strfuncs.h"
59
#include "strnum.h"
60
#include "event-log.h"
61
62
#define LIB_ATEXIT_PRIORITY_HIGH -10
63
#define LIB_ATEXIT_PRIORITY_DEFAULT 0
64
2
#define LIB_ATEXIT_PRIORITY_LOW 10
65
66
#define static_assert_array_size(arr, count) \
67
0
  static_assert(N_ELEMENTS(arr) == (count), "array/enum size mismatch")
68
69
/* Using memcpy() with NULL pointers is undefined behavior. Make sure we don't
70
   do that. */
71
61.1k
static inline void *i_memcpy(void *dest, const void *src, size_t n) {
72
61.1k
  i_assert(dest != NULL && src != NULL);
73
61.1k
  return memcpy(dest, src, n);
74
61.1k
}
Unexecuted instantiation: buffer.c:i_memcpy
Unexecuted instantiation: data-stack.c:i_memcpy
Unexecuted instantiation: event-log.c:i_memcpy
Unexecuted instantiation: failures.c:i_memcpy
Unexecuted instantiation: fd-util.c:i_memcpy
Unexecuted instantiation: hostpid.c:i_memcpy
Unexecuted instantiation: imem.c:i_memcpy
Unexecuted instantiation: iostream-pump.c:i_memcpy
Unexecuted instantiation: istream.c:i_memcpy
Unexecuted instantiation: istream-data.c:i_memcpy
Unexecuted instantiation: ioloop.c:i_memcpy
Unexecuted instantiation: ioloop-notify-inotify.c:i_memcpy
Unexecuted instantiation: ioloop-epoll.c:i_memcpy
Unexecuted instantiation: lib.c:i_memcpy
Unexecuted instantiation: lib-event.c:i_memcpy
Unexecuted instantiation: lib-signals.c:i_memcpy
Unexecuted instantiation: memarea.c:i_memcpy
Unexecuted instantiation: mempool.c:i_memcpy
mempool-alloconly.c:i_memcpy
Line
Count
Source
71
61.1k
static inline void *i_memcpy(void *dest, const void *src, size_t n) {
72
61.1k
  i_assert(dest != NULL && src != NULL);
73
61.1k
  return memcpy(dest, src, n);
74
61.1k
}
Unexecuted instantiation: mempool-datastack.c:i_memcpy
Unexecuted instantiation: mempool-system.c:i_memcpy
Unexecuted instantiation: mempool-unsafe-datastack.c:i_memcpy
Unexecuted instantiation: net.c:i_memcpy
Unexecuted instantiation: ostream.c:i_memcpy
Unexecuted instantiation: ostream-file.c:i_memcpy
Unexecuted instantiation: path-util.c:i_memcpy
Unexecuted instantiation: printf-format-fix.c:i_memcpy
Unexecuted instantiation: process-title.c:i_memcpy
Unexecuted instantiation: priorityq.c:i_memcpy
randgen.c:i_memcpy
Line
Count
Source
71
1
static inline void *i_memcpy(void *dest, const void *src, size_t n) {
72
1
  i_assert(dest != NULL && src != NULL);
73
1
  return memcpy(dest, src, n);
74
1
}
Unexecuted instantiation: rand.c:i_memcpy
Unexecuted instantiation: restrict-access.c:i_memcpy
Unexecuted instantiation: safe-memset.c:i_memcpy
Unexecuted instantiation: sendfile-util.c:i_memcpy
Unexecuted instantiation: sleep.c:i_memcpy
Unexecuted instantiation: str.c:i_memcpy
Unexecuted instantiation: strescape.c:i_memcpy
Unexecuted instantiation: strfuncs.c:i_memcpy
Unexecuted instantiation: strnum.c:i_memcpy
Unexecuted instantiation: time-util.c:i_memcpy
Unexecuted instantiation: unichar.c:i_memcpy
Unexecuted instantiation: var-expand.c:i_memcpy
Unexecuted instantiation: var-expand-if.c:i_memcpy
Unexecuted instantiation: wildcard-match.c:i_memcpy
Unexecuted instantiation: write-full.c:i_memcpy
Unexecuted instantiation: array.c:i_memcpy
Unexecuted instantiation: backtrace-string.c:i_memcpy
Unexecuted instantiation: base64.c:i_memcpy
Unexecuted instantiation: bits.c:i_memcpy
Unexecuted instantiation: env-util.c:i_memcpy
Unexecuted instantiation: event-filter.c:i_memcpy
Unexecuted instantiation: event-filter-lexer.c:i_memcpy
Unexecuted instantiation: event-filter-parser.c:i_memcpy
Unexecuted instantiation: hash.c:i_memcpy
Unexecuted instantiation: hash-method.c:i_memcpy
Unexecuted instantiation: hex-binary.c:i_memcpy
Unexecuted instantiation: ipwd.c:i_memcpy
Unexecuted instantiation: iostream.c:i_memcpy
Unexecuted instantiation: ioloop-iolist.c:i_memcpy
Unexecuted instantiation: ioloop-notify-fd.c:i_memcpy
Unexecuted instantiation: md4.c:i_memcpy
Unexecuted instantiation: md5.c:i_memcpy
Unexecuted instantiation: pkcs5.c:i_memcpy
Unexecuted instantiation: primes.c:i_memcpy
Unexecuted instantiation: sha1.c:i_memcpy
Unexecuted instantiation: sha2.c:i_memcpy
Unexecuted instantiation: sha3.c:i_memcpy
Unexecuted instantiation: str-parse.c:i_memcpy
Unexecuted instantiation: hmac.c:i_memcpy
75
#ifndef __cplusplus
76
61.1k
#  define memcpy(dest, src, n) i_memcpy(dest, src, n)
77
#endif
78
79
/* /dev/null opened as O_WRONLY. Opened at lib_init(), so it can be accessed
80
   also inside chroots. */
81
extern int dev_null_fd;
82
83
/* Call unlink(). If it fails, log an error including the source filename
84
   and line number. */
85
int i_unlink(const char *path, const char *source_fname,
86
       unsigned int source_linenum);
87
#define i_unlink(path) i_unlink(path, __FILE__, __LINE__)
88
/* Same as i_unlink(), but don't log an error if errno=ENOENT. Returns 1 on
89
   unlink() success, 0 if errno=ENOENT, -1 on other errors. */
90
int i_unlink_if_exists(const char *path, const char *source_fname,
91
           unsigned int source_linenum);
92
0
#define i_unlink_if_exists(path) i_unlink_if_exists(path, __FILE__, __LINE__)
93
/* Reset getopt() so it can be used for the next args. */
94
void i_getopt_reset(void);
95
96
/* Call the given callback at the beginning of lib_deinit(). The main
97
   difference to atexit() is that liblib's memory allocation and logging
98
   functions are still available. Also if lib_atexit() is called multiple times
99
   to the same callback, it's added only once. */
100
void lib_atexit(lib_atexit_callback_t *callback);
101
/* Specify the order in which the callback is called. Lowest numbered
102
   priorities are called first. lib_atexit() is called with priority=0. */
103
void lib_atexit_priority(lib_atexit_callback_t *callback, int priority);
104
/* Manually run the atexit callbacks. lib_deinit() also does this if not
105
   explicitly called. */
106
void lib_atexit_run(void);
107
/* Unless this or lib_deinit() is called, any unexpected exit() will result
108
   in abort(). This can be helpful in catching unexpected exits. */
109
void lib_set_clean_exit(bool set);
110
/* Same as lib_set_clean_exit(TRUE) followed by exit(status). */
111
void lib_exit(int status) ATTR_NORETURN;
112
113
void lib_init(void);
114
bool lib_is_initialized(void);
115
void lib_deinit(void);
116
117
uint32_t i_rand(void);
118
/* Returns a random integer < upper_bound. */
119
uint32_t i_rand_limit(uint32_t upper_bound);
120
121
static inline unsigned short i_rand_ushort(void)
122
0
{
123
0
        return i_rand_limit(USHRT_MAX + 1);
124
0
}
Unexecuted instantiation: buffer.c:i_rand_ushort
Unexecuted instantiation: data-stack.c:i_rand_ushort
Unexecuted instantiation: event-log.c:i_rand_ushort
Unexecuted instantiation: failures.c:i_rand_ushort
Unexecuted instantiation: fd-util.c:i_rand_ushort
Unexecuted instantiation: hostpid.c:i_rand_ushort
Unexecuted instantiation: imem.c:i_rand_ushort
Unexecuted instantiation: iostream-pump.c:i_rand_ushort
Unexecuted instantiation: istream.c:i_rand_ushort
Unexecuted instantiation: istream-data.c:i_rand_ushort
Unexecuted instantiation: ioloop.c:i_rand_ushort
Unexecuted instantiation: ioloop-notify-inotify.c:i_rand_ushort
Unexecuted instantiation: ioloop-epoll.c:i_rand_ushort
Unexecuted instantiation: lib.c:i_rand_ushort
Unexecuted instantiation: lib-event.c:i_rand_ushort
Unexecuted instantiation: lib-signals.c:i_rand_ushort
Unexecuted instantiation: memarea.c:i_rand_ushort
Unexecuted instantiation: mempool.c:i_rand_ushort
Unexecuted instantiation: mempool-alloconly.c:i_rand_ushort
Unexecuted instantiation: mempool-datastack.c:i_rand_ushort
Unexecuted instantiation: mempool-system.c:i_rand_ushort
Unexecuted instantiation: mempool-unsafe-datastack.c:i_rand_ushort
Unexecuted instantiation: net.c:i_rand_ushort
Unexecuted instantiation: ostream.c:i_rand_ushort
Unexecuted instantiation: ostream-file.c:i_rand_ushort
Unexecuted instantiation: path-util.c:i_rand_ushort
Unexecuted instantiation: printf-format-fix.c:i_rand_ushort
Unexecuted instantiation: process-title.c:i_rand_ushort
Unexecuted instantiation: priorityq.c:i_rand_ushort
Unexecuted instantiation: randgen.c:i_rand_ushort
Unexecuted instantiation: rand.c:i_rand_ushort
Unexecuted instantiation: restrict-access.c:i_rand_ushort
Unexecuted instantiation: safe-memset.c:i_rand_ushort
Unexecuted instantiation: sendfile-util.c:i_rand_ushort
Unexecuted instantiation: sleep.c:i_rand_ushort
Unexecuted instantiation: str.c:i_rand_ushort
Unexecuted instantiation: strescape.c:i_rand_ushort
Unexecuted instantiation: strfuncs.c:i_rand_ushort
Unexecuted instantiation: strnum.c:i_rand_ushort
Unexecuted instantiation: time-util.c:i_rand_ushort
Unexecuted instantiation: unichar.c:i_rand_ushort
Unexecuted instantiation: var-expand.c:i_rand_ushort
Unexecuted instantiation: var-expand-if.c:i_rand_ushort
Unexecuted instantiation: wildcard-match.c:i_rand_ushort
Unexecuted instantiation: write-full.c:i_rand_ushort
Unexecuted instantiation: array.c:i_rand_ushort
Unexecuted instantiation: backtrace-string.c:i_rand_ushort
Unexecuted instantiation: base64.c:i_rand_ushort
Unexecuted instantiation: bits.c:i_rand_ushort
Unexecuted instantiation: env-util.c:i_rand_ushort
Unexecuted instantiation: event-filter.c:i_rand_ushort
Unexecuted instantiation: event-filter-lexer.c:i_rand_ushort
Unexecuted instantiation: event-filter-parser.c:i_rand_ushort
Unexecuted instantiation: hash.c:i_rand_ushort
Unexecuted instantiation: hash-method.c:i_rand_ushort
Unexecuted instantiation: hex-binary.c:i_rand_ushort
Unexecuted instantiation: ipwd.c:i_rand_ushort
Unexecuted instantiation: iostream.c:i_rand_ushort
Unexecuted instantiation: ioloop-iolist.c:i_rand_ushort
Unexecuted instantiation: ioloop-notify-fd.c:i_rand_ushort
Unexecuted instantiation: md4.c:i_rand_ushort
Unexecuted instantiation: md5.c:i_rand_ushort
Unexecuted instantiation: pkcs5.c:i_rand_ushort
Unexecuted instantiation: primes.c:i_rand_ushort
Unexecuted instantiation: sha1.c:i_rand_ushort
Unexecuted instantiation: sha2.c:i_rand_ushort
Unexecuted instantiation: sha3.c:i_rand_ushort
Unexecuted instantiation: str-parse.c:i_rand_ushort
Unexecuted instantiation: hmac.c:i_rand_ushort
125
126
static inline unsigned char i_rand_uchar(void)
127
0
{
128
0
        return i_rand_limit(UCHAR_MAX + 1);
129
0
}
Unexecuted instantiation: buffer.c:i_rand_uchar
Unexecuted instantiation: data-stack.c:i_rand_uchar
Unexecuted instantiation: event-log.c:i_rand_uchar
Unexecuted instantiation: failures.c:i_rand_uchar
Unexecuted instantiation: fd-util.c:i_rand_uchar
Unexecuted instantiation: hostpid.c:i_rand_uchar
Unexecuted instantiation: imem.c:i_rand_uchar
Unexecuted instantiation: iostream-pump.c:i_rand_uchar
Unexecuted instantiation: istream.c:i_rand_uchar
Unexecuted instantiation: istream-data.c:i_rand_uchar
Unexecuted instantiation: ioloop.c:i_rand_uchar
Unexecuted instantiation: ioloop-notify-inotify.c:i_rand_uchar
Unexecuted instantiation: ioloop-epoll.c:i_rand_uchar
Unexecuted instantiation: lib.c:i_rand_uchar
Unexecuted instantiation: lib-event.c:i_rand_uchar
Unexecuted instantiation: lib-signals.c:i_rand_uchar
Unexecuted instantiation: memarea.c:i_rand_uchar
Unexecuted instantiation: mempool.c:i_rand_uchar
Unexecuted instantiation: mempool-alloconly.c:i_rand_uchar
Unexecuted instantiation: mempool-datastack.c:i_rand_uchar
Unexecuted instantiation: mempool-system.c:i_rand_uchar
Unexecuted instantiation: mempool-unsafe-datastack.c:i_rand_uchar
Unexecuted instantiation: net.c:i_rand_uchar
Unexecuted instantiation: ostream.c:i_rand_uchar
Unexecuted instantiation: ostream-file.c:i_rand_uchar
Unexecuted instantiation: path-util.c:i_rand_uchar
Unexecuted instantiation: printf-format-fix.c:i_rand_uchar
Unexecuted instantiation: process-title.c:i_rand_uchar
Unexecuted instantiation: priorityq.c:i_rand_uchar
Unexecuted instantiation: randgen.c:i_rand_uchar
Unexecuted instantiation: rand.c:i_rand_uchar
Unexecuted instantiation: restrict-access.c:i_rand_uchar
Unexecuted instantiation: safe-memset.c:i_rand_uchar
Unexecuted instantiation: sendfile-util.c:i_rand_uchar
Unexecuted instantiation: sleep.c:i_rand_uchar
Unexecuted instantiation: str.c:i_rand_uchar
Unexecuted instantiation: strescape.c:i_rand_uchar
Unexecuted instantiation: strfuncs.c:i_rand_uchar
Unexecuted instantiation: strnum.c:i_rand_uchar
Unexecuted instantiation: time-util.c:i_rand_uchar
Unexecuted instantiation: unichar.c:i_rand_uchar
Unexecuted instantiation: var-expand.c:i_rand_uchar
Unexecuted instantiation: var-expand-if.c:i_rand_uchar
Unexecuted instantiation: wildcard-match.c:i_rand_uchar
Unexecuted instantiation: write-full.c:i_rand_uchar
Unexecuted instantiation: array.c:i_rand_uchar
Unexecuted instantiation: backtrace-string.c:i_rand_uchar
Unexecuted instantiation: base64.c:i_rand_uchar
Unexecuted instantiation: bits.c:i_rand_uchar
Unexecuted instantiation: env-util.c:i_rand_uchar
Unexecuted instantiation: event-filter.c:i_rand_uchar
Unexecuted instantiation: event-filter-lexer.c:i_rand_uchar
Unexecuted instantiation: event-filter-parser.c:i_rand_uchar
Unexecuted instantiation: hash.c:i_rand_uchar
Unexecuted instantiation: hash-method.c:i_rand_uchar
Unexecuted instantiation: hex-binary.c:i_rand_uchar
Unexecuted instantiation: ipwd.c:i_rand_uchar
Unexecuted instantiation: iostream.c:i_rand_uchar
Unexecuted instantiation: ioloop-iolist.c:i_rand_uchar
Unexecuted instantiation: ioloop-notify-fd.c:i_rand_uchar
Unexecuted instantiation: md4.c:i_rand_uchar
Unexecuted instantiation: md5.c:i_rand_uchar
Unexecuted instantiation: pkcs5.c:i_rand_uchar
Unexecuted instantiation: primes.c:i_rand_uchar
Unexecuted instantiation: sha1.c:i_rand_uchar
Unexecuted instantiation: sha2.c:i_rand_uchar
Unexecuted instantiation: sha3.c:i_rand_uchar
Unexecuted instantiation: str-parse.c:i_rand_uchar
Unexecuted instantiation: hmac.c:i_rand_uchar
130
131
/* Returns a random integer >= min_val, and <= max_val. */
132
static inline uint32_t i_rand_minmax(uint32_t min_val, uint32_t max_val)
133
0
{
134
0
  i_assert(min_val <= max_val);
135
0
  return min_val + i_rand_limit(max_val - min_val + 1);
136
0
}
Unexecuted instantiation: buffer.c:i_rand_minmax
Unexecuted instantiation: data-stack.c:i_rand_minmax
Unexecuted instantiation: event-log.c:i_rand_minmax
Unexecuted instantiation: failures.c:i_rand_minmax
Unexecuted instantiation: fd-util.c:i_rand_minmax
Unexecuted instantiation: hostpid.c:i_rand_minmax
Unexecuted instantiation: imem.c:i_rand_minmax
Unexecuted instantiation: iostream-pump.c:i_rand_minmax
Unexecuted instantiation: istream.c:i_rand_minmax
Unexecuted instantiation: istream-data.c:i_rand_minmax
Unexecuted instantiation: ioloop.c:i_rand_minmax
Unexecuted instantiation: ioloop-notify-inotify.c:i_rand_minmax
Unexecuted instantiation: ioloop-epoll.c:i_rand_minmax
Unexecuted instantiation: lib.c:i_rand_minmax
Unexecuted instantiation: lib-event.c:i_rand_minmax
Unexecuted instantiation: lib-signals.c:i_rand_minmax
Unexecuted instantiation: memarea.c:i_rand_minmax
Unexecuted instantiation: mempool.c:i_rand_minmax
Unexecuted instantiation: mempool-alloconly.c:i_rand_minmax
Unexecuted instantiation: mempool-datastack.c:i_rand_minmax
Unexecuted instantiation: mempool-system.c:i_rand_minmax
Unexecuted instantiation: mempool-unsafe-datastack.c:i_rand_minmax
Unexecuted instantiation: net.c:i_rand_minmax
Unexecuted instantiation: ostream.c:i_rand_minmax
Unexecuted instantiation: ostream-file.c:i_rand_minmax
Unexecuted instantiation: path-util.c:i_rand_minmax
Unexecuted instantiation: printf-format-fix.c:i_rand_minmax
Unexecuted instantiation: process-title.c:i_rand_minmax
Unexecuted instantiation: priorityq.c:i_rand_minmax
Unexecuted instantiation: randgen.c:i_rand_minmax
Unexecuted instantiation: rand.c:i_rand_minmax
Unexecuted instantiation: restrict-access.c:i_rand_minmax
Unexecuted instantiation: safe-memset.c:i_rand_minmax
Unexecuted instantiation: sendfile-util.c:i_rand_minmax
Unexecuted instantiation: sleep.c:i_rand_minmax
Unexecuted instantiation: str.c:i_rand_minmax
Unexecuted instantiation: strescape.c:i_rand_minmax
Unexecuted instantiation: strfuncs.c:i_rand_minmax
Unexecuted instantiation: strnum.c:i_rand_minmax
Unexecuted instantiation: time-util.c:i_rand_minmax
Unexecuted instantiation: unichar.c:i_rand_minmax
Unexecuted instantiation: var-expand.c:i_rand_minmax
Unexecuted instantiation: var-expand-if.c:i_rand_minmax
Unexecuted instantiation: wildcard-match.c:i_rand_minmax
Unexecuted instantiation: write-full.c:i_rand_minmax
Unexecuted instantiation: array.c:i_rand_minmax
Unexecuted instantiation: backtrace-string.c:i_rand_minmax
Unexecuted instantiation: base64.c:i_rand_minmax
Unexecuted instantiation: bits.c:i_rand_minmax
Unexecuted instantiation: env-util.c:i_rand_minmax
Unexecuted instantiation: event-filter.c:i_rand_minmax
Unexecuted instantiation: event-filter-lexer.c:i_rand_minmax
Unexecuted instantiation: event-filter-parser.c:i_rand_minmax
Unexecuted instantiation: hash.c:i_rand_minmax
Unexecuted instantiation: hash-method.c:i_rand_minmax
Unexecuted instantiation: hex-binary.c:i_rand_minmax
Unexecuted instantiation: ipwd.c:i_rand_minmax
Unexecuted instantiation: iostream.c:i_rand_minmax
Unexecuted instantiation: ioloop-iolist.c:i_rand_minmax
Unexecuted instantiation: ioloop-notify-fd.c:i_rand_minmax
Unexecuted instantiation: md4.c:i_rand_minmax
Unexecuted instantiation: md5.c:i_rand_minmax
Unexecuted instantiation: pkcs5.c:i_rand_minmax
Unexecuted instantiation: primes.c:i_rand_minmax
Unexecuted instantiation: sha1.c:i_rand_minmax
Unexecuted instantiation: sha2.c:i_rand_minmax
Unexecuted instantiation: sha3.c:i_rand_minmax
Unexecuted instantiation: str-parse.c:i_rand_minmax
Unexecuted instantiation: hmac.c:i_rand_minmax
137
138
/* Cast time_t to uint32_t, assert the value fits. */
139
static inline uint32_t time_to_uint32(time_t ts)
140
0
{
141
0
  i_assert(ts >= 0);
142
0
  i_assert(ts <= UINT32_MAX);
143
0
  return (uint32_t)(ts & 0xffffffff);
144
0
}
Unexecuted instantiation: buffer.c:time_to_uint32
Unexecuted instantiation: data-stack.c:time_to_uint32
Unexecuted instantiation: event-log.c:time_to_uint32
Unexecuted instantiation: failures.c:time_to_uint32
Unexecuted instantiation: fd-util.c:time_to_uint32
Unexecuted instantiation: hostpid.c:time_to_uint32
Unexecuted instantiation: imem.c:time_to_uint32
Unexecuted instantiation: iostream-pump.c:time_to_uint32
Unexecuted instantiation: istream.c:time_to_uint32
Unexecuted instantiation: istream-data.c:time_to_uint32
Unexecuted instantiation: ioloop.c:time_to_uint32
Unexecuted instantiation: ioloop-notify-inotify.c:time_to_uint32
Unexecuted instantiation: ioloop-epoll.c:time_to_uint32
Unexecuted instantiation: lib.c:time_to_uint32
Unexecuted instantiation: lib-event.c:time_to_uint32
Unexecuted instantiation: lib-signals.c:time_to_uint32
Unexecuted instantiation: memarea.c:time_to_uint32
Unexecuted instantiation: mempool.c:time_to_uint32
Unexecuted instantiation: mempool-alloconly.c:time_to_uint32
Unexecuted instantiation: mempool-datastack.c:time_to_uint32
Unexecuted instantiation: mempool-system.c:time_to_uint32
Unexecuted instantiation: mempool-unsafe-datastack.c:time_to_uint32
Unexecuted instantiation: net.c:time_to_uint32
Unexecuted instantiation: ostream.c:time_to_uint32
Unexecuted instantiation: ostream-file.c:time_to_uint32
Unexecuted instantiation: path-util.c:time_to_uint32
Unexecuted instantiation: printf-format-fix.c:time_to_uint32
Unexecuted instantiation: process-title.c:time_to_uint32
Unexecuted instantiation: priorityq.c:time_to_uint32
Unexecuted instantiation: randgen.c:time_to_uint32
Unexecuted instantiation: rand.c:time_to_uint32
Unexecuted instantiation: restrict-access.c:time_to_uint32
Unexecuted instantiation: safe-memset.c:time_to_uint32
Unexecuted instantiation: sendfile-util.c:time_to_uint32
Unexecuted instantiation: sleep.c:time_to_uint32
Unexecuted instantiation: str.c:time_to_uint32
Unexecuted instantiation: strescape.c:time_to_uint32
Unexecuted instantiation: strfuncs.c:time_to_uint32
Unexecuted instantiation: strnum.c:time_to_uint32
Unexecuted instantiation: time-util.c:time_to_uint32
Unexecuted instantiation: unichar.c:time_to_uint32
Unexecuted instantiation: var-expand.c:time_to_uint32
Unexecuted instantiation: var-expand-if.c:time_to_uint32
Unexecuted instantiation: wildcard-match.c:time_to_uint32
Unexecuted instantiation: write-full.c:time_to_uint32
Unexecuted instantiation: array.c:time_to_uint32
Unexecuted instantiation: backtrace-string.c:time_to_uint32
Unexecuted instantiation: base64.c:time_to_uint32
Unexecuted instantiation: bits.c:time_to_uint32
Unexecuted instantiation: env-util.c:time_to_uint32
Unexecuted instantiation: event-filter.c:time_to_uint32
Unexecuted instantiation: event-filter-lexer.c:time_to_uint32
Unexecuted instantiation: event-filter-parser.c:time_to_uint32
Unexecuted instantiation: hash.c:time_to_uint32
Unexecuted instantiation: hash-method.c:time_to_uint32
Unexecuted instantiation: hex-binary.c:time_to_uint32
Unexecuted instantiation: ipwd.c:time_to_uint32
Unexecuted instantiation: iostream.c:time_to_uint32
Unexecuted instantiation: ioloop-iolist.c:time_to_uint32
Unexecuted instantiation: ioloop-notify-fd.c:time_to_uint32
Unexecuted instantiation: md4.c:time_to_uint32
Unexecuted instantiation: md5.c:time_to_uint32
Unexecuted instantiation: pkcs5.c:time_to_uint32
Unexecuted instantiation: primes.c:time_to_uint32
Unexecuted instantiation: sha1.c:time_to_uint32
Unexecuted instantiation: sha2.c:time_to_uint32
Unexecuted instantiation: sha3.c:time_to_uint32
Unexecuted instantiation: str-parse.c:time_to_uint32
Unexecuted instantiation: hmac.c:time_to_uint32
145
/* Cast time_t to uint32_t, truncate the value if it does not fit. */
146
static inline uint32_t time_to_uint32_trunc(time_t ts)
147
0
{
148
0
  if (ts < 0)
149
0
    return 0;
150
0
  if (ts > UINT32_MAX)
151
0
    return UINT32_MAX;
152
0
  return (uint32_t)(ts & 0xffffffff);
153
0
}
Unexecuted instantiation: buffer.c:time_to_uint32_trunc
Unexecuted instantiation: data-stack.c:time_to_uint32_trunc
Unexecuted instantiation: event-log.c:time_to_uint32_trunc
Unexecuted instantiation: failures.c:time_to_uint32_trunc
Unexecuted instantiation: fd-util.c:time_to_uint32_trunc
Unexecuted instantiation: hostpid.c:time_to_uint32_trunc
Unexecuted instantiation: imem.c:time_to_uint32_trunc
Unexecuted instantiation: iostream-pump.c:time_to_uint32_trunc
Unexecuted instantiation: istream.c:time_to_uint32_trunc
Unexecuted instantiation: istream-data.c:time_to_uint32_trunc
Unexecuted instantiation: ioloop.c:time_to_uint32_trunc
Unexecuted instantiation: ioloop-notify-inotify.c:time_to_uint32_trunc
Unexecuted instantiation: ioloop-epoll.c:time_to_uint32_trunc
Unexecuted instantiation: lib.c:time_to_uint32_trunc
Unexecuted instantiation: lib-event.c:time_to_uint32_trunc
Unexecuted instantiation: lib-signals.c:time_to_uint32_trunc
Unexecuted instantiation: memarea.c:time_to_uint32_trunc
Unexecuted instantiation: mempool.c:time_to_uint32_trunc
Unexecuted instantiation: mempool-alloconly.c:time_to_uint32_trunc
Unexecuted instantiation: mempool-datastack.c:time_to_uint32_trunc
Unexecuted instantiation: mempool-system.c:time_to_uint32_trunc
Unexecuted instantiation: mempool-unsafe-datastack.c:time_to_uint32_trunc
Unexecuted instantiation: net.c:time_to_uint32_trunc
Unexecuted instantiation: ostream.c:time_to_uint32_trunc
Unexecuted instantiation: ostream-file.c:time_to_uint32_trunc
Unexecuted instantiation: path-util.c:time_to_uint32_trunc
Unexecuted instantiation: printf-format-fix.c:time_to_uint32_trunc
Unexecuted instantiation: process-title.c:time_to_uint32_trunc
Unexecuted instantiation: priorityq.c:time_to_uint32_trunc
Unexecuted instantiation: randgen.c:time_to_uint32_trunc
Unexecuted instantiation: rand.c:time_to_uint32_trunc
Unexecuted instantiation: restrict-access.c:time_to_uint32_trunc
Unexecuted instantiation: safe-memset.c:time_to_uint32_trunc
Unexecuted instantiation: sendfile-util.c:time_to_uint32_trunc
Unexecuted instantiation: sleep.c:time_to_uint32_trunc
Unexecuted instantiation: str.c:time_to_uint32_trunc
Unexecuted instantiation: strescape.c:time_to_uint32_trunc
Unexecuted instantiation: strfuncs.c:time_to_uint32_trunc
Unexecuted instantiation: strnum.c:time_to_uint32_trunc
Unexecuted instantiation: time-util.c:time_to_uint32_trunc
Unexecuted instantiation: unichar.c:time_to_uint32_trunc
Unexecuted instantiation: var-expand.c:time_to_uint32_trunc
Unexecuted instantiation: var-expand-if.c:time_to_uint32_trunc
Unexecuted instantiation: wildcard-match.c:time_to_uint32_trunc
Unexecuted instantiation: write-full.c:time_to_uint32_trunc
Unexecuted instantiation: array.c:time_to_uint32_trunc
Unexecuted instantiation: backtrace-string.c:time_to_uint32_trunc
Unexecuted instantiation: base64.c:time_to_uint32_trunc
Unexecuted instantiation: bits.c:time_to_uint32_trunc
Unexecuted instantiation: env-util.c:time_to_uint32_trunc
Unexecuted instantiation: event-filter.c:time_to_uint32_trunc
Unexecuted instantiation: event-filter-lexer.c:time_to_uint32_trunc
Unexecuted instantiation: event-filter-parser.c:time_to_uint32_trunc
Unexecuted instantiation: hash.c:time_to_uint32_trunc
Unexecuted instantiation: hash-method.c:time_to_uint32_trunc
Unexecuted instantiation: hex-binary.c:time_to_uint32_trunc
Unexecuted instantiation: ipwd.c:time_to_uint32_trunc
Unexecuted instantiation: iostream.c:time_to_uint32_trunc
Unexecuted instantiation: ioloop-iolist.c:time_to_uint32_trunc
Unexecuted instantiation: ioloop-notify-fd.c:time_to_uint32_trunc
Unexecuted instantiation: md4.c:time_to_uint32_trunc
Unexecuted instantiation: md5.c:time_to_uint32_trunc
Unexecuted instantiation: pkcs5.c:time_to_uint32_trunc
Unexecuted instantiation: primes.c:time_to_uint32_trunc
Unexecuted instantiation: sha1.c:time_to_uint32_trunc
Unexecuted instantiation: sha2.c:time_to_uint32_trunc
Unexecuted instantiation: sha3.c:time_to_uint32_trunc
Unexecuted instantiation: str-parse.c:time_to_uint32_trunc
Unexecuted instantiation: hmac.c:time_to_uint32_trunc
154
#endif