/*****************************************************************************
* @brief 函数find_keyword
*
* 从data中获取参数key的值,data是以','作为分隔符
* @param data 原数据
* @param key 要查找的参数
* @param result 返回的参数
* @return result
***********************************************************************/
#define ERR -1
#define NO_VALUE 0
#define OK 1
static inline int find_keyword(
char *data, char *key, char *result, char *cSeparator)
{
char *tmp_result, *tmp_result_end;
int len=0;
assert(data!=NULL);
assert(key!=NULL);
if ((tmp_result=strstr(data, key))==NULL)
{
result = NULL;
return ERR;
}
else
{
if (tmp_result[strlen(key)]!='=')
{
return ERR;
}
else
{
if ((tmp_result_end=strstr(tmp_result, cSeparator))==NULL)
{
printf("no match valuw/n");
return ERR;
}
else
{
if ((len=tmp_result_end-tmp_result-strlen(key)-1)<0)
{
printf("no match value %s/n", key);
return ERR;
}
if (len == 0)
{
return NO_VALUE;
}
memcpy(result, &tmp_result[strlen(key)+1], len);
result[len]='/0';
return OK;
}
}
}
}