Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1020082
  • 博文数量: 162
  • 博客积分: 3887
  • 博客等级: 中校
  • 技术积分: 1617
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 19:05
文章分类

全部博文(162)

文章存档

2015年(4)

2014年(7)

2013年(10)

2012年(16)

2011年(89)

2010年(36)

分类: LINUX

2011-10-10 15:49:42

static char* get_param_value(char* params, const char* param_name)
{
char
*p = NULL,
*l = NULL,
*n = NULL,
*r = NULL,
*buf = NULL;

for(p = params; p && *p; p++)
{
r = NULL;

/* trim left spaces */
for(; *p == ' '; p++);

/* find '=' symbol */
for(n = p; *n && *n != '\n'; n++)
{
if(*n == '=')
{
/* trim right spaces */
for(l = n - 1; *l == ' '; l--);
l++;

/* compare parameter name */
if(l - p != strlen(param_name)) break;
if(strncmp(p, param_name, l - p)) break;

r = n+1;
break;
}
}

/* find EOL */
for(p = n; *p && *p != '\n'; p++);

/* allocate result */
if(r)
{
/* trim right EOL symbols */
while(*p == '\r' || *p == '\n' || *p == '\0') p--;
p++;

/* allocate result */
buf = zbx_malloc(buf, p - r + 1);
memmove(buf, r, p - r);
buf[p - r] = '\0';

break;
}
}

if(buf == NULL)
{
/* allocate result */
buf = zbx_malloc(buf, 1);
*buf = '\0';
}
return buf;
}
阅读(1246) | 评论(0) | 转发(0) |
0

上一篇:交换机ACL配置

下一篇:C语言学习网站

给主人留下些什么吧!~~