MT#55283 modernise STR_INIT_LEN() et al

Obsolete str_init_len() and replace with macro. Rename STR_INIT_LEN() to
just STR_LEN()

no-op

Change-Id: I09dc91dedd57a5b5ca791be4e6f158aecbf339ed
rfuchs/gh1842
Richard Fuchs 9 months ago
parent a6b28af6f8
commit a2059a2449

@ -2300,7 +2300,7 @@ static tc_code packet_dtmf(struct codec_ssrc_handler *ch, struct codec_ssrc_hand
// provide an uninitialised buffer as potential output storage for DTMF
char buf[sizeof(struct telephone_event_payload)];
str ev_pl = STR_INIT_LEN(buf, sizeof(buf));
str ev_pl = STR_LEN(buf, sizeof(buf));
int is_dtmf = dtmf_event_payload(&ev_pl, &ts, duration,
&input_ch->dtmf_event, &input_ch->dtmf_events);
@ -4006,7 +4006,7 @@ void packet_encoded_packetize(AVPacket *pkt, struct codec_ssrc_handler *ch, stru
char *buf = bufferpool_alloc(media_bufferpool, pkt_len);
char *payload = buf + sizeof(struct rtp_header);
// tell our packetizer how much we want
str inout = STR_INIT_LEN(payload, payload_len);
str inout = STR_LEN(payload, payload_len);
// and request a packet
if (in_pkt)
ilogs(transcoding, LOG_DEBUG, "Adding %i bytes to packetizer", in_pkt->size);

@ -446,7 +446,7 @@ static void prf_n(str *out, const unsigned char *key, const EVP_CIPHER *ciph, co
memcpy(iv, x, 14);
/* iv[14] = iv[15] = 0; := x << 16 */
ZERO(in); /* outputs the key stream */
str_init_len(&in_s, (void *) in, out->len > 16 ? 32 : 16);
in_s = STR_LEN(in, out->len > 16 ? 32 : 16);
aes_ctr_no_ctx(o, &in_s, key, ciph, iv);
memcpy(out->s, o, out->len);

@ -1555,7 +1555,7 @@ static void create_random_ice_string(call_t *call, str *s, int len) {
}
void ice_foundation(str *s) {
str_init_len(s, malloc(ICE_FOUNDATION_LENGTH), ICE_FOUNDATION_LENGTH);
*s = STR_LEN(malloc(ICE_FOUNDATION_LENGTH), ICE_FOUNDATION_LENGTH);
random_ice_string(s->s, ICE_FOUNDATION_LENGTH);
}

@ -117,7 +117,7 @@ static struct jb_packet* get_jb_packet(struct media_packet *mp, const str *s) {
p->buf = buf;
media_packet_copy(&p->mp, mp);
str_init_len(&p->mp.raw, buf + RTP_BUFFER_HEAD_ROOM, s->len);
p->mp.raw = STR_LEN(buf + RTP_BUFFER_HEAD_ROOM, s->len);
memcpy(p->mp.raw.s, s->s, s->len);
return p;

@ -692,7 +692,7 @@ static void media_player_cache_packet(struct media_player_cache_entry *entry, ch
.rtp = &rtp,
.cache_entry = entry,
};
str_init_len(&packet.raw, buf, len);
packet.raw = STR_LEN(buf, len);
packet.payload = packet.raw;
entry->coder.handler->handler_func(entry->coder.handler, &packet);
@ -946,7 +946,7 @@ void media_player_add_packet(struct media_player *mp, char *buf, size_t len,
.rtp = &rtp,
.ssrc_out = mp->ssrc_out,
};
str_init_len(&packet.raw, buf, len);
packet.raw = STR_LEN(buf, len);
packet.payload = packet.raw;
mp->coder.handler->handler_func(mp->coder.handler, &packet);
@ -1362,7 +1362,7 @@ success:;
goto err;
}
str blob = STR_INIT_LEN(row[0], lengths[0]);
str blob = STR_LEN(row[0], lengths[0]);
mp_cached_code ret = __media_player_init_blob_id(mp, &blob, opts, id, dst_pt);
mysql_free_result(res);

@ -3049,7 +3049,7 @@ restart:
if (ret >= MAX_RTP_PACKET_SIZE)
ilog(LOG_WARNING | LOG_FLAG_LIMIT, "UDP packet possibly truncated");
str_init_len(&phc.s, buf + RTP_BUFFER_HEAD_ROOM, ret);
phc.s = STR_LEN(buf + RTP_BUFFER_HEAD_ROOM, ret);
__stream_fd_readable(&phc);
@ -3095,7 +3095,7 @@ static void stream_fd_recv(struct obj *obj, char *buf, size_t len, struct sockad
ZERO(phc);
phc.mp.sfd = sfd;
sfd->socket.family->sockaddr2endpoint(&phc.mp.fsin, sa);
str_init_len(&phc.s, buf, len);
phc.s = STR_LEN(buf, len);
__stream_fd_readable(&phc);

@ -385,7 +385,7 @@ void on_redis_notification(redisAsyncContext *actx, void *reply, void *privdata)
goto err;
// format: __keyspace@<db>__:<key>
str_init_len(&keyspace_id, rr->element[2]->str, rr->element[2]->len);
keyspace_id = STR_LEN(rr->element[2]->str, rr->element[2]->len);
if (str_shift_cmp(&keyspace_id, "__keyspace@"))
goto err;
@ -2215,7 +2215,7 @@ static void restore_thread(void *call_p, void *ctx_p) {
struct thread_ctx *ctx = ctx_p;
redisReply *call = call_p;
struct redis *r;
str callid = STR_INIT_LEN(call->str, call->len);
str callid = STR_LEN(call->str, call->len);
rlog(LOG_DEBUG, "Processing call ID '%s%.*s%s' from Redis", FMT_M(REDIS_FMT(call)));

@ -556,7 +556,7 @@ static int rtcp_rr(struct rtcp_chain_element *el, struct rtcp_process_ctx *log_c
static int rtcp_sdes(struct rtcp_chain_element *el, struct rtcp_process_ctx *log_ctx) {
CAH(sdes_list_start, el->sdes);
str comp_s = STR_INIT_LEN(el->sdes->chunks, el->len - sizeof(el->sdes->header));
str comp_s = STR_LEN(el->sdes->chunks, el->len - sizeof(el->sdes->header));
int i = 0;
while (1) {
struct sdes_chunk *sdes_chunk = (struct sdes_chunk *) comp_s.s;
@ -614,7 +614,7 @@ static void xr_voip_metrics(struct xr_rb_voip_metrics *rb, struct rtcp_process_c
static int rtcp_xr(struct rtcp_chain_element *el, struct rtcp_process_ctx *log_ctx) {
CAH(common, el->rtcp_packet);
str comp_s = STR_INIT_LEN(el->buf + sizeof(el->xr->rtcp), el->len - sizeof(el->xr->rtcp));
str comp_s = STR_LEN(el->buf + sizeof(el->xr->rtcp), el->len - sizeof(el->xr->rtcp));
while (1) {
struct xr_report_block *rb = (void *) comp_s.s;
if (comp_s.len < sizeof(*rb))
@ -1603,7 +1603,7 @@ void rtcp_send_report(struct call_media *media, struct ssrc_ctx *ssrc_out) {
if (crypt_handler && crypt_handler->out->rtcp_crypt) {
g_string_set_size(sr, sr->len + RTP_BUFFER_TAIL_ROOM);
rtcp_packet = STR_INIT_LEN(sr->str, sr->len - RTP_BUFFER_TAIL_ROOM);
rtcp_packet = STR_LEN(sr->str, sr->len - RTP_BUFFER_TAIL_ROOM);
crypt_handler->out->rtcp_crypt(&rtcp_packet, ps, ssrc_out);
}

@ -286,7 +286,7 @@ int srtp_payloads(str *to_auth, str *to_decrypt, str *auth_tag, str *mki,
if (to_decrypt->len < auth_len)
goto error;
str_init_len(auth_tag, to_decrypt->s + to_decrypt->len - auth_len, auth_len);
*auth_tag = STR_LEN(to_decrypt->s + to_decrypt->len - auth_len, auth_len);
to_decrypt->len -= auth_len;
to_auth->len -= auth_len;
}
@ -298,7 +298,7 @@ int srtp_payloads(str *to_auth, str *to_decrypt, str *auth_tag, str *mki,
goto error;
if (mki)
str_init_len(mki, to_decrypt->s - mki_len, mki_len);
*mki = STR_LEN(to_decrypt->s - mki_len, mki_len);
to_decrypt->len -= mki_len;
to_auth->len -= mki_len;
}

@ -1282,7 +1282,7 @@ int sdp_parse(str *body, sdp_sessions_q *sessions, const sdp_ng_flags *flags) {
goto new_session; // allowed for trickle ICE SDP fragments
}
str value_str = STR_INIT_LEN(value, line_end - value);
str value_str = STR_LEN(value, line_end - value);
switch (b[0]) {
case 'v':
@ -2382,7 +2382,7 @@ void sdp_chopper_destroy_ret(struct sdp_chopper *chop, str *ret) {
if (chop->output) {
size_t len = chop->output->len;
char *s = g_string_free(chop->output, FALSE);
str_init_len(ret, s, len);
*ret = STR_LEN(s, len);
chop->output = NULL;
}
sdp_chopper_destroy(chop);
@ -2993,7 +2993,7 @@ static void generic_append_attr_to_gstring(GString *s, const str * attr, char se
g_string_append_len(s, value->s, value->len);
// check if the complete attribute string is marked for removal ...
str complete = STR_INIT_LEN(s->str + attr_start, s->len - attr_start);
str complete = STR_LEN(s->str + attr_start, s->len - attr_start);
if (sdp_manipulate_remove(sdp_manipulations, &complete))
{
// rewind and bail

@ -105,7 +105,7 @@ static int t38_gateway_handler(t38_core_state_t *stat, void *user_data, const ui
g_string_append_len(s, (void *) &seq, 2);
// add primary IFP packet
str buf = STR_INIT_LEN(b, len);
str buf = STR_LEN(b, len);
__add_udptl(s, &buf);
// add error correction packets

@ -458,7 +458,7 @@ static const char *websocket_http_cli(struct websocket_message *wm) {
static const char *websocket_cli_process(struct websocket_message *wm) {
ilogs(http, LOG_DEBUG, "Processing websocket CLI req '%s'", wm->body->str);
str uri_cmd = STR_INIT_LEN(wm->body->str, wm->body->len);
str uri_cmd = STR_LEN(wm->body->str, wm->body->len);
struct cli_writer cw = {
.cw_printf = websocket_queue_printf,
@ -513,7 +513,7 @@ static const char *websocket_ng_process_generic(struct websocket_message *wm,
// steal body and initialise
buf->body = wm->body;
wm->body = g_string_new("");
str_init_len(&buf->cmd, buf->body->str, buf->body->len);
buf->cmd = STR_LEN(buf->body->str, buf->body->len);
buf->endpoint = wm->wc->endpoint;
cb(&buf->cmd, &buf->endpoint, buf->addr, NULL, websocket_ng_send_ws, wm->wc, &buf->obj);
@ -540,7 +540,7 @@ static const char *websocket_http_ng_generic(struct websocket_message *wm,
// steal body and initialise
buf->body = wm->body;
wm->body = g_string_new("");
str_init_len(&buf->cmd, buf->body->str, buf->body->len);
buf->cmd = STR_LEN(buf->body->str, buf->body->len);
buf->endpoint = wm->wc->endpoint;
if (cb(&buf->cmd, &buf->endpoint, buf->addr, NULL, websocket_ng_send_http, wm->wc,

@ -39,7 +39,7 @@ TYPED_GQUEUE(str, str)
#define STR_CONST_INIT(s) ((str) { s, sizeof(s)-1 })
#define STR(s) ((str) { (char *) (s), (s) ? strlen(s) : 0 })
#define STR_INIT_GS(s) ((str) { (s)->str, (s)->len })
#define STR_INIT_LEN(s, len) ((str) { (char *) (s), len })
#define STR_LEN(s, len) ((str) { (char *) (s), len })
#define STR_INIT_DUP(s) ((str) { g_strdup(s), strlen(s) })
#define STR_CONST_INIT_BUF(buf) ((str) { (char *) &buf, sizeof(buf) })
@ -83,9 +83,6 @@ ACCESS(read_only, 2)
INLINE int str_cmp_str0(const str *a, const str *b);
/* inits a str object from any binary string. returns out */
__attribute__((nonnull(1, 2)))
ACCESS(write_only, 1)
INLINE str *str_init_len(str *out, char *s, size_t len);
__attribute__((nonnull(1, 2)))
INLINE str *str_init_len_assert_len(str *out, char *s, size_t buflen, size_t len);
#define str_init_len_assert(out, s, len) str_init_len_assert_len(out, s, sizeof(s), len)
/* inits a str object from a regular string and duplicates the contents. returns out */
@ -216,7 +213,7 @@ INLINE int str_shift_ret(str *s, size_t len, str *ret) {
if (s->len < len)
return -1;
if (ret)
str_init_len(ret, s->s, len);
*ret = STR_LEN(s->s, len);
s->s += len;
s->len -= len;
return 0;
@ -301,14 +298,10 @@ INLINE int str_cmp_str0(const str *a, const str *b) {
}
return str_cmp_str(a, b);
}
INLINE str *str_init_len(str *out, char *s, size_t len) {
out->s = s;
out->len = len;
return out;
}
INLINE str *str_init_len_assert_len(str *out, char *s, size_t buflen, size_t len) {
assert(buflen >= len);
return str_init_len(out, s, len);
*out = STR_LEN(s, len);
return out;
}
INLINE str *str_init_dup(str *out, const char *s) {
out->s = s ? g_strdup(s) : NULL;

@ -365,7 +365,7 @@ static void readable(int fd, void *o) {
s->fixture_idx = 0;
str frame;
str_init_len(&frame, (char *) data->data, data->size);
frame = STR_LEN(data->data, data->size);
if (!s->chain)
decoder_input_data(s->decoder, &frame, s->input_ts, got_frame, s, NULL);

@ -32,7 +32,7 @@ decode_t *decoder_new(const char *payload_str, const char *format, int ptime, ou
return NULL;
}
str name = STR_INIT_LEN(payload_str, slash - payload_str);
str name = STR_LEN(payload_str, slash - payload_str);
int clockrate = atoi(slash + 1);
if (clockrate <= 0) {
ilog(LOG_ERR, "Invalid clock rate %i (parsed from '%.20s'/'%.20s')",

@ -204,7 +204,7 @@ static output_t *output_new(const char *path, const metafile_t *mf, const char *
ilog(LOG_ERR, "Missing ending brace '}' in file name pattern");
break;
}
str fmt = STR_INIT_LEN((char *) p, end - p);
str fmt = STR_LEN((char *) p, end - p);
p = end; // skip over {...}
output_append_str_from_ht(f, mf->metadata_parsed, &fmt);
break;

@ -382,7 +382,7 @@ void packet_process(stream_t *stream, unsigned char *buf, unsigned len) {
packet->buffer = buf; // handing it over
// XXX more checking here
str bufstr = STR_INIT_LEN(packet->buffer, len);
str bufstr = STR_LEN(packet->buffer, len);
packet->ip = (void *) bufstr.s;
// XXX kernel already does this - add metadata?
if (packet->ip->version == 4) {

@ -39,7 +39,7 @@ int do_test(const char *input, unsigned int input_len,
{
char in_buf[input_len];
memcpy(in_buf, input, input_len);
str inp = STR_INIT_LEN(in_buf, input_len);
str inp = STR_LEN(in_buf, input_len);
bitstr inp_bs;
bitstr_init(&inp_bs, &inp);

@ -1369,7 +1369,7 @@ int main(void) {
// CN transcoding
rtpe_config.silence_detect_int = 10 << 16;
str_init_len(&rtpe_config.cn_payload, "\x40", 1);
rtpe_config.cn_payload = STR_LEN("\x40", 1);
// CN transcoding - forward
start();
sdp_pt(8, PCMA, 8000);

Loading…
Cancel
Save