The signature of the callback which is called when the pattern matching of a given text is complete.
typedef void(* strpattern_analyze_callback_func)(strpattern_match **matches, int len, void *user_data, int err);
This function has the responsibility to release the list of matches. The eventual release of the matches themselves also has to be ensured. For example, call strpattern_match_delete_all().
Note: The callback may be run in a separate thread. Make sure that any data access and function calls from inside the callback are done in a thread-safe way by using locks when appropriate.