rem: CRLF_L + ADDRESS_ETAG_L +
context: int pidf_add_address(str* _b, int _l, str* _addr, pidf_status_t _st, str *_loc){	int len = 0;	char* p;	switch(_st) {	case PIDF_ST_OPEN:   p = STATUS_OPEN;   len = STATUS_OPEN_L;   break;	case PIDF_ST_CLOSED: p = STATUS_CLOSED; len = STATUS_CLOSED_L; break;	case PIDF_ST_INUSE:  p = STATUS_INUSE;  len = STATUS_INUSE_L;  break;	default:              p = STATUS_CLOSED; len = STATUS_CLOSED_L; break; /* Makes gcc happy */	}	if (_l < (ADDRESS_START_L + 		  _addr->len + 		  ADDRESS_END_L + 		  CRLF_L +		  len + 		  CRLF_L +		  ADDRESS_ETAG_L + 		  CRLF_L		 )	   ) {		paerrno = PA_SMALL_BUFFER;		LOG(L_ERR, "pidf_add_address(): Buffer too small\n");		return -1;	}	str_append(_b, ADDRESS_START, ADDRESS_START_L);	str_append(_b, _addr->s, _addr->len);	str_append(_b, ADDRESS_END CRLF, ADDRESS_END_L + CRLF_L);	str_append(_b, CRLF ADDRESS_ETAG CRLF , 		   CRLF_L + ADDRESS_ETAG_L + CRLF_L);	str_append(_b, p, len);	if (_loc->len) {		str_append(_b, CRLF LOC_STAG, CRLF_L + LOC_STAG_L);		str_append(_b, _loc->s, _loc->len);		str_append(_b, CRLF LOC_ETAG, CRLF_L + LOC_ETAG_L);	}	return 0;}