rem: int len;
add: int len = 0;
context: int xpidf_add_address(str* _b, int _l, str* _addr, xpidf_status_t _st){	int len;	char* p;	switch(_st) {	case XPIDF_ST_OPEN:   p = STATUS_OPEN;   len = STATUS_OPEN_LEN;   break;	case XPIDF_ST_CLOSED: p = STATUS_CLOSED; len = STATUS_CLOSED_LEN; break;	case XPIDF_ST_INUSE:  p = STATUS_INUSE;  len = STATUS_INUSE_LEN;  break;	}	if (_l < 	    (ATOM_STAG_LEN + 2 +	     ADDRESS_START_LEN + _addr->len + ADDRESS_END_LEN + 2 +	     len + 2 +	     ADDRESS_ETAG_LEN + 2 +	     ATOM_ETAG_LEN + 2)) {		paerrno = PA_SMALL_BUFFER;		LOG(L_ERR, "xpidf_add_address(): Buffer too small\n");		return -1;	}	memcpy(_b->s + _b->len, ATOM_STAG CRLF ADDRESS_START, ATOM_STAG_LEN + 2 + ADDRESS_START_LEN);	_b->len += ATOM_STAG_LEN + 2 + ADDRESS_START_LEN;	memcpy(_b->s + _b->len, _addr->s, _addr->len);	_b->len += _addr->len;	memcpy(_b->s + _b->len, ADDRESS_END CRLF, ADDRESS_END_LEN + 2);	_b->len += ADDRESS_END_LEN + 2;	memcpy(_b->s + _b->len, p, len);	_b->len += len;	memcpy(_b->s + _b->len, CRLF ADDRESS_ETAG CRLF ATOM_ETAG CRLF, 2 + ADDRESS_ETAG_LEN + 2 + ATOM_ETAG_LEN + 2);	_b->len += 2 + ADDRESS_ETAG_LEN + 2 + ATOM_ETAG_LEN + 2;	return 0;}