add: eflags|=REG_NOTBOL;
context: static int replace_all_f(struct sip_msg* msg, char* key, char* str){	struct lump* l;	regmatch_t pmatch;	char* s;	int len;	char* begin;	int off;	int ret;	begin=get_header(msg); /* msg->orig previously .. uri problems */	ret=-1; /* pessimist: we will not find any */	len=strlen(str);	while (begin<msg->buf+msg->len 				&& regexec((regex_t*) key, begin, 1, &pmatch, 0)==0) {		off=begin-msg->buf;		if (pmatch.rm_so==-1){			LOG(L_ERR, "ERROR: replace_all_f: offset unknown\n");			return -1;		}		if ((l=del_lump(msg, pmatch.rm_so+off,						pmatch.rm_eo-pmatch.rm_so, 0))==0) {			LOG(L_ERR, "ERROR: replace_all_f: del_lump failed\n");			return -1;		}		s=pkg_malloc(len);		if (s==0){			LOG(L_ERR, "ERROR: replace_f: mem. allocation failure\n");			return -1;		}		memcpy(s, str, len); 		if (insert_new_lump_after(l, s, len, 0)==0){			LOG(L_ERR, "ERROR: could not insert new lump\n");			pkg_free(s);			return -1;		}		/* new cycle */		begin=begin+pmatch.rm_eo;		ret=1;	} /* while found ... */	return ret;}