annotate src/lib/str-find.h @ 23007:36e01285b5b8

lib: buffer - Improve header comment for buffer_insert() and buffer_delete().
author Stephan Bosch <stephan.bosch@dovecot.fi>
date Mon, 18 Mar 2019 00:52:37 +0100
parents c8ba50450f12
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6410
e4eb71ae8e96 Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents: 5520
diff changeset
1 #ifndef STR_FIND_H
e4eb71ae8e96 Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents: 5520
diff changeset
2 #define STR_FIND_H
5520
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
4 struct str_find_context;
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
5
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
6 struct str_find_context *str_find_init(pool_t pool, const char *key);
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 void str_find_deinit(struct str_find_context **ctx);
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 /* Returns TRUE if key is found. It's possible to send the data in arbitrary
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10 blocks and have the key still match. */
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11 bool str_find_more(struct str_find_context *ctx,
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12 const unsigned char *data, size_t size);
8995
c8ba50450f12 Added str_find_get_match_end_pos(). Added unit testing.
Timo Sirainen <tss@iki.fi>
parents: 6410
diff changeset
13 /* After str_find_more() has returned TRUE, this function returns the end
c8ba50450f12 Added str_find_get_match_end_pos(). Added unit testing.
Timo Sirainen <tss@iki.fi>
parents: 6410
diff changeset
14 position in the previous data block where the key had matched. */
c8ba50450f12 Added str_find_get_match_end_pos(). Added unit testing.
Timo Sirainen <tss@iki.fi>
parents: 6410
diff changeset
15 size_t str_find_get_match_end_pos(struct str_find_context *ctx);
5520
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
16 /* Reset input data. The next str_find_more() call won't try to match the key
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
17 to earlier data. */
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
18 void str_find_reset(struct str_find_context *ctx);
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
19
f322edd67a4f Added Boyer-Moore string searching.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20 #endif