END_TEST

START_TEST (_strncasestrn)
{
    char *p;
    char *string    = "This is a testing string";
    int   stringlen = strlen(string);

    p = strncasestrn (string, stringlen, "iS A", 4);
    ch_assert (p != NULL);

    p = strncasestrn (string, stringlen, "tHIS IS A TESTING STRiNG", stringlen);
    ch_assert (p != NULL);
    ch_assert (p == string);

    p = strncasestrn (string, stringlen, string, stringlen);
    ch_assert (p != NULL);
    ch_assert (p == string);

    p = strncasestrn (string, stringlen, "TeStInG", 7);
    ch_assert (p != NULL);

    p = strncasestrn (string, stringlen, "is a trick that I'm playing", 4);
    ch_assert (p != NULL);

    p = strncasestrn (string, stringlen, "foobar", 6);
    ch_assert (p == NULL);
}
Exemple #2
0
static ret_t
remove_header (cherokee_buffer_t *buffer,
               cherokee_buffer_t *header)
{
	char *p, *s;

	p = strncasestrn (buffer->buf, buffer->len,
	                  header->buf, header->len);
	if (p == NULL)
		return ret_not_found;

	if (p[header->len] != ':')
		return ret_not_found;

	s = strchr (p, '\r');
	if (s == NULL)
		return ret_eof;

	cherokee_buffer_remove_chunk (buffer, p - buffer->buf, s-p +2);
	return ret_ok;
}