This is an obvious tiny fix and obvious mistake to have made when writing the search_large function.
search_large was looking at (n-m) as the further position in the text, but the large function stores the original value of m in p_len, and sets m to 32.
use n - p_len as the last valid position in the text.
Add a forward declaration for the search_large function to conform to C99 standards.
This is an obvious tiny fix and obvious mistake to have made when writing the search_large function.