diff options
author | Quentin Deslandes <qde@naccy.de> | 2022-09-13 17:14:52 +0200 |
---|---|---|
committer | Quentin Deslandes <qde@naccy.de> | 2022-12-15 10:57:39 +0100 |
commit | b8c0565ec4d9c8b2eff7a0799cfdabf66536a87c (patch) | |
tree | 3937b0aaf9aff40dcea1e41c373d4cc1de88085a /src | |
parent | systemctl: add support for LogFilterPatterns for show command (diff) | |
download | systemd-b8c0565ec4d9c8b2eff7a0799cfdabf66536a87c.tar.xz systemd-b8c0565ec4d9c8b2eff7a0799cfdabf66536a87c.zip |
Create hash_ops structure to free keys of type pcre2_code
Diffstat (limited to 'src')
-rw-r--r-- | src/shared/pcre2-util.c | 9 | ||||
-rw-r--r-- | src/shared/pcre2-util.h | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/shared/pcre2-util.c b/src/shared/pcre2-util.c index 998dab0491..a2c8687cf9 100644 --- a/src/shared/pcre2-util.c +++ b/src/shared/pcre2-util.c @@ -14,6 +14,15 @@ pcre2_code* (*sym_pcre2_compile)(PCRE2_SPTR, PCRE2_SIZE, uint32_t, int *, PCRE2_ int (*sym_pcre2_get_error_message)(int, PCRE2_UCHAR *, PCRE2_SIZE); int (*sym_pcre2_match)(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, uint32_t, pcre2_match_data *, pcre2_match_context *); PCRE2_SIZE* (*sym_pcre2_get_ovector_pointer)(pcre2_match_data *); + +DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR( + pcre2_code_hash_ops_free, + pcre2_code, + (void (*)(const pcre2_code *, struct siphash*))trivial_hash_func, + (int (*)(const pcre2_code *, const pcre2_code*))trivial_compare_func, + sym_pcre2_code_free); +#else +const struct hash_ops pcre2_code_hash_ops_free = {}; #endif int dlopen_pcre2(void) { diff --git a/src/shared/pcre2-util.h b/src/shared/pcre2-util.h index 11f1d77f4f..f1e744d577 100644 --- a/src/shared/pcre2-util.h +++ b/src/shared/pcre2-util.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once +#include "hash-funcs.h" #include "macro.h" #if HAVE_PCRE2 @@ -24,6 +25,8 @@ typedef struct {} pcre2_code; #endif +extern const struct hash_ops pcre2_code_hash_ops_free; + typedef enum { PATTERN_COMPILE_CASE_AUTO, PATTERN_COMPILE_CASE_SENSITIVE, |