Create hash_ops structure to free keys of type pcre2_code

This commit is contained in:
Quentin Deslandes
2022-09-13 16:14:52 +01:00
parent c00b95d5e9
commit b8c0565ec4
2 changed files with 12 additions and 0 deletions

View File

@@ -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) {

View File

@@ -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,