char* memstr(char* full_data, int full_data_len,const char* substr,int sublen)
{
if (full_data == NULL || full_data_len <= 0 || substr == NULL)
{
return NULL;
}
if (*substr == '\0')
{
return NULL;
}
int i=0;
char* cur = full_data;
int last_possible = full_data_len - sublen + 1;
for (i = 0; i < last_possible; i++)
{
if (*cur == *substr)
{
//assert(full_data_len - i >= sublen);
if (memcmp(cur, substr, sublen) == 0)
{
//found
return cur;
}
}
cur++;
}
return NULL;
}
{
if (full_data == NULL || full_data_len <= 0 || substr == NULL)
{
return NULL;
}
if (*substr == '\0')
{
return NULL;
}
int i=0;
char* cur = full_data;
int last_possible = full_data_len - sublen + 1;
for (i = 0; i < last_possible; i++)
{
if (*cur == *substr)
{
//assert(full_data_len - i >= sublen);
if (memcmp(cur, substr, sublen) == 0)
{
//found
return cur;
}
}
cur++;
}
return NULL;
}