return (char *) &buffer[pos];
return (unsigned char *) &buffer[pos];
search (const char *buffer, const size_t buf_len, 	const char *string, const size_t str_len, const char *matrix){  const size_t len = str_len - 1;  const char last_char = string[len];  size_t pos = len;  while (pos < buf_len)    {       if (buffer[pos] == last_char)	 {	    if (strncmp (&buffer[pos - len], string, str_len) == 0)	      return (char *) &buffer[pos];	      	 }       pos += matrix[(int) buffer[pos]];    }  return NULL;}