rem: p = trim(find_next_param(_b)); if (!p) return;
add: p = find_next_param(_b); if (!p) p = _b; p = trim(p);
context: static inline void parse_params(char* _b, time_t* _exp, float* _q){	char* p, *end = NULL, *name, *body;#ifdef PARANOID	if ((!_exp) || (!_q)) {		ERR("Invalid parameter value");	        return;	}#endif	*_exp = (time_t)(-1);	*_q = (float)(0);	if (!_b) return;	p = trim(find_next_param(_b));	if (!p) return;	do {		if (p) end = find_next_param(p);		if (end) *(end - 1) = '\0';				parse_param(p, &name, &body);		if (!strcasecmp(name, "expires")) {			*_exp = atoi(body);			if (*_exp != 0) *_exp += time(NULL);		} else if ((*name == 'q') || (*name == 'Q')) {			*_q = atof(body);		}		if ((*_exp != (time_t)(-1)) && (*_q != (float)(-1))) break;		p = trim(end);	} while(end);}