[asterisk-commits] wdoekes: branch 1.8 r376469 - in /branches/1.8: channels/ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Nov 19 13:31:07 CST 2012


Author: wdoekes
Date: Mon Nov 19 13:30:58 2012
New Revision: 376469

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=376469
Log:
Fix most leftover non-opaque ast_str uses.

Instead of calling str->str, one should use ast_str_buffer(str). Same
goes for str->used as ast_str_strlen(str) and str->len as
ast_str_size(str).

Review: https://reviewboard.asterisk.org/r/2198

Modified:
    branches/1.8/channels/chan_sip.c
    branches/1.8/main/indications.c
    branches/1.8/main/security_events.c

Modified: branches/1.8/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/channels/chan_sip.c?view=diff&rev=376469&r1=376468&r2=376469
==============================================================================
--- branches/1.8/channels/chan_sip.c (original)
+++ branches/1.8/channels/chan_sip.c Mon Nov 19 13:30:58 2012
@@ -3652,16 +3652,16 @@
 	int res = 0;
 	const struct ast_sockaddr *dst = sip_real_dst(p);
 
-	ast_debug(2, "Trying to put '%.11s' onto %s socket destined for %s\n", data->str, get_transport_pvt(p), ast_sockaddr_stringify(dst));
+	ast_debug(2, "Trying to put '%.11s' onto %s socket destined for %s\n", ast_str_buffer(data), get_transport_pvt(p), ast_sockaddr_stringify(dst));
 
 	if (sip_prepare_socket(p) < 0) {
 		return XMIT_ERROR;
 	}
 
 	if (p->socket.type == SIP_TRANSPORT_UDP) {
-		res = ast_sendto(p->socket.fd, data->str, ast_str_strlen(data), 0, dst);
+		res = ast_sendto(p->socket.fd, ast_str_buffer(data), ast_str_strlen(data), 0, dst);
 	} else if (p->socket.tcptls_session) {
-		res = sip_tcptls_write(p->socket.tcptls_session, data->str, ast_str_strlen(data));
+		res = sip_tcptls_write(p->socket.tcptls_session, ast_str_buffer(data), ast_str_strlen(data));
 	} else {
 		ast_debug(2, "Socket type is TCP but no tcptls_session is present to write to\n");
 		return XMIT_ERROR;
@@ -3919,10 +3919,10 @@
 			ast_verbose("Retransmitting #%d (%s) to %s:\n%s\n---\n",
 				pkt->retrans, sip_nat_mode(pkt->owner),
 				ast_sockaddr_stringify(dst),
-				pkt->data->str);
-		}
-
-		append_history(pkt->owner, "ReTx", "%d %s", reschedule, pkt->data->str);
+				ast_str_buffer(pkt->data));
+		}
+
+		append_history(pkt->owner, "ReTx", "%d %s", reschedule, ast_str_buffer(pkt->data));
 		xmitres = __sip_xmit(pkt->owner, pkt->data);
 
 		/* If there was no error during the network transmission, schedule the next retransmission,
@@ -4080,7 +4080,7 @@
 		ast_free(pkt);
 		return AST_FAILURE;
 	}
-	ast_str_set(&pkt->data, 0, "%s%s", data->str, "\0");
+	ast_str_set(&pkt->data, 0, "%s%s", ast_str_buffer(data), "\0");
 	/* copy other parameters from the caller */
 	pkt->method = sipmethod;
 	pkt->seqno = seqno;
@@ -4353,7 +4353,7 @@
 			return;
 		}
 		cur = p->packets;
-		method = (cur->method) ? cur->method : find_sip_method(cur->data->str);
+		method = (cur->method) ? cur->method : find_sip_method(ast_str_buffer(cur->data));
 		__sip_ack(p, cur->seqno, cur->is_resp, method);
 	}
 }
@@ -4366,7 +4366,7 @@
 
 	for (cur = p->packets; cur; cur = cur->next) {
 		if (cur->seqno == seqno && cur->is_resp == resp &&
-			(cur->is_resp || method_match(sipmethod, cur->data->str))) {
+			(cur->is_resp || method_match(sipmethod, ast_str_buffer(cur->data)))) {
 			/* this is our baby */
 			if (cur->retransid > -1) {
 				if (sipdebug)
@@ -4480,12 +4480,12 @@
 		ast_verbose("\n<--- %sTransmitting (%s) to %s --->\n%s\n<------------>\n",
 			reliable ? "Reliably " : "", sip_nat_mode(p),
 			ast_sockaddr_stringify(dst),
-			req->data->str);
+			ast_str_buffer(req->data));
 	}
 	if (p->do_history) {
 		struct sip_request tmp = { .rlPart1 = 0, };
 		parse_copy(&tmp, req);
-		append_history(p, reliable ? "TxRespRel" : "TxResp", "%s / %s - %s", tmp.data->str, get_header(&tmp, "CSeq"),
+		append_history(p, reliable ? "TxRespRel" : "TxResp", "%s / %s - %s", ast_str_buffer(tmp.data), get_header(&tmp, "CSeq"),
 			(tmp.method == SIP_RESPONSE || tmp.method == SIP_UNKNOWN) ? REQ_OFFSET_TO_STR(&tmp, rlPart2) : sip_methods[tmp.method].text);
 		deinit_req(&tmp);
 	}
@@ -4525,15 +4525,15 @@
 	add_blank(req);
 	if (sip_debug_test_pvt(p)) {
 		if (ast_test_flag(&p->flags[0], SIP_NAT_FORCE_RPORT)) {
-			ast_verbose("%sTransmitting (NAT) to %s:\n%s\n---\n", reliable ? "Reliably " : "", ast_sockaddr_stringify(&p->recv), req->data->str);
+			ast_verbose("%sTransmitting (NAT) to %s:\n%s\n---\n", reliable ? "Reliably " : "", ast_sockaddr_stringify(&p->recv), ast_str_buffer(req->data));
 		} else {
-			ast_verbose("%sTransmitting (no NAT) to %s:\n%s\n---\n", reliable ? "Reliably " : "", ast_sockaddr_stringify(&p->sa), req->data->str);
+			ast_verbose("%sTransmitting (no NAT) to %s:\n%s\n---\n", reliable ? "Reliably " : "", ast_sockaddr_stringify(&p->sa), ast_str_buffer(req->data));
 		}
 	}
 	if (p->do_history) {
 		struct sip_request tmp = { .rlPart1 = 0, };
 		parse_copy(&tmp, req);
-		append_history(p, reliable ? "TxReqRel" : "TxReq", "%s / %s - %s", tmp.data->str, get_header(&tmp, "CSeq"), sip_methods[tmp.method].text);
+		append_history(p, reliable ? "TxReqRel" : "TxReq", "%s / %s - %s", ast_str_buffer(tmp.data), get_header(&tmp, "CSeq"), sip_methods[tmp.method].text);
 		deinit_req(&tmp);
 	}
 	res = (reliable) ?
@@ -6664,7 +6664,7 @@
 		sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
 
 	/* Start the process if it's not already started */
-	if (!p->alreadygone && p->initreq.data && !ast_strlen_zero(p->initreq.data->str)) {
+	if (!p->alreadygone && p->initreq.data && ast_str_strlen(p->initreq.data)) {
 		if (needcancel) {	/* Outgoing call, not up */
 			if (ast_test_flag(&p->flags[0], SIP_OUTGOING)) {
 				/* if we can't send right now, mark it pending */
@@ -6678,7 +6678,7 @@
 					struct sip_pkt *cur;
 
 					for (cur = p->packets; cur; cur = cur->next) {
-						__sip_semi_ack(p, cur->seqno, cur->is_resp, cur->method ? cur->method : find_sip_method(cur->data->str));
+						__sip_semi_ack(p, cur->seqno, cur->is_resp, cur->method ? cur->method : find_sip_method(ast_str_buffer(cur->data)));
 					}
 					p->invitestate = INV_CANCELLED;
 					/* Send a new request: CANCEL */
@@ -8841,8 +8841,8 @@
 			*c = '\0';
 		} else if (*c == '\n') { 	/* end of this line */
 			*c = '\0';
-			current_header_offset = (c + 1) - req->data->str;
-			previous_header = req->data->str + dst[i];
+			current_header_offset = (c + 1) - ast_str_buffer(req->data);
+			previous_header = ast_str_buffer(req->data) + dst[i];
 			if (skipping_headers) {
 				/* check to see if this line is blank; if so, turn off
 				   the skipping flag, so the next line will be processed
@@ -8888,7 +8888,7 @@
 	   if we've already reached the maximum number of lines for portion of the message
 	   we were parsing, we can't accept any more, so just ignore it.
 	*/
-	previous_header = req->data->str + dst[i];
+	previous_header = ast_str_buffer(req->data) + dst[i];
 	if ((i < lim) && !ast_strlen_zero(previous_header)) {
 		if (sipdebug) {
 			ast_debug(4, "%7s %2d [%3d]: %s\n",
@@ -9029,7 +9029,7 @@
 			      holdstate ? "On" : "Off",
 			      dialog->owner->name,
 			      dialog->owner->uniqueid);
-	append_history(dialog, holdstate ? "Hold" : "Unhold", "%s", req->data->str);
+	append_history(dialog, holdstate ? "Hold" : "Unhold", "%s", ast_str_buffer(req->data));
 	if (!holdstate) {	/* Put off remote hold */
 		ast_clear_flag(&dialog->flags[1], SIP_PAGE2_CALL_ONHOLD);	/* Clear both flags */
 		return;
@@ -11875,9 +11875,9 @@
 		if (min_text_packet_size)
 			ast_str_append(&a_text, 0, "a=ptime:%d\r\n", min_text_packet_size);
 
-		if (m_audio->len - m_audio->used < 2 || m_video->len - m_video->used < 2 ||
-		    m_text->len - m_text->used < 2 || a_text->len - a_text->used < 2 ||
-		    a_audio->len - a_audio->used < 2 || a_video->len - a_video->used < 2)
+		if (ast_str_size(m_audio) - ast_str_strlen(m_audio) < 2 || ast_str_size(m_video) - ast_str_strlen(m_video) < 2 ||
+		    ast_str_size(m_text) - ast_str_strlen(m_text) < 2 || ast_str_size(a_text) - ast_str_strlen(a_text) < 2 ||
+		    ast_str_size(a_audio) - ast_str_strlen(a_audio) < 2 || ast_str_size(a_video) - ast_str_strlen(a_video) < 2)
 			ast_log(LOG_WARNING, "SIP SDP may be truncated due to undersized buffer!!\n");
 	}
 
@@ -11967,8 +11967,8 @@
 		for (i = 1; i <= 3; i++) {
 			if (p->offered_media[SDP_AUDIO].order_offered == i) {
 				if (needaudio) {
-					add_content(resp, m_audio->str);
-					add_content(resp, a_audio->str);
+					add_content(resp, ast_str_buffer(m_audio));
+					add_content(resp, ast_str_buffer(a_audio));
 					add_content(resp, hold);
 					if (a_crypto) {
 						add_content(resp, a_crypto);
@@ -11979,8 +11979,8 @@
 				}
 			} else if (p->offered_media[SDP_VIDEO].order_offered == i) {
 				if (needvideo) { /* only if video response is appropriate */
-					add_content(resp, m_video->str);
-					add_content(resp, a_video->str);
+					add_content(resp, ast_str_buffer(m_video));
+					add_content(resp, ast_str_buffer(a_video));
 					add_content(resp, hold);	/* Repeat hold for the video stream */
 					if (v_a_crypto) {
 						add_content(resp, v_a_crypto);
@@ -11991,8 +11991,8 @@
 				}
 			} else if (p->offered_media[SDP_TEXT].order_offered == i) {
 				if (needtext) { /* only if text response is appropriate */
-					add_content(resp, m_text->str);
-					add_content(resp, a_text->str);
+					add_content(resp, ast_str_buffer(m_text));
+					add_content(resp, ast_str_buffer(a_text));
 					add_content(resp, hold);	/* Repeat hold for the text stream */
 					if (t_a_crypto) {
 						add_content(resp, t_a_crypto);
@@ -12003,8 +12003,8 @@
 				}
 			} else if (p->offered_media[SDP_IMAGE].order_offered == i) {
 				if (add_t38) {
-					add_content(resp, m_modem->str);
-					add_content(resp, a_modem->str);
+					add_content(resp, ast_str_buffer(m_modem));
+					add_content(resp, ast_str_buffer(a_modem));
 				} else {
 					add_content(resp, "m=image 0 udptl t38\r\n");
 				}
@@ -12013,32 +12013,32 @@
 	} else {
 		/* generate new SDP from scratch, no offers */
 		if (needaudio) {
-			add_content(resp, m_audio->str);
-			add_content(resp, a_audio->str);
+			add_content(resp, ast_str_buffer(m_audio));
+			add_content(resp, ast_str_buffer(a_audio));
 			add_content(resp, hold);
 			if (a_crypto) {
 				add_content(resp, a_crypto);
 			}
 		}
 		if (needvideo) { /* only if video response is appropriate */
-			add_content(resp, m_video->str);
-			add_content(resp, a_video->str);
+			add_content(resp, ast_str_buffer(m_video));
+			add_content(resp, ast_str_buffer(a_video));
 			add_content(resp, hold);	/* Repeat hold for the video stream */
 			if (v_a_crypto) {
 				add_content(resp, v_a_crypto);
 			}
 		}
 		if (needtext) { /* only if text response is appropriate */
-			add_content(resp, m_text->str);
-			add_content(resp, a_text->str);
+			add_content(resp, ast_str_buffer(m_text));
+			add_content(resp, ast_str_buffer(a_text));
 			add_content(resp, hold);	/* Repeat hold for the text stream */
 			if (t_a_crypto) {
 				add_content(resp, t_a_crypto);
 			}
 		}
 		if (add_t38) {
-			add_content(resp, m_modem->str);
-			add_content(resp, a_modem->str);
+			add_content(resp, ast_str_buffer(m_modem));
+			add_content(resp, ast_str_buffer(a_modem));
 		}
 	}
 
@@ -12432,7 +12432,7 @@
  	/* This is the request URI, which is the next hop of the call
  		which may or may not be the destination of the call
  	*/
-	ast_string_field_set(p, uri, invite->str);
+	ast_string_field_set(p, uri, ast_str_buffer(invite));
 
  	if (!ast_strlen_zero(p->todnid)) {
  		/*! \todo Need to add back the VXML URL here at some point, possibly use build_string for all this junk */
@@ -13226,7 +13226,7 @@
 		break;
 	}
 
-	add_content(&req, tmp->str);
+	add_content(&req, ast_str_buffer(tmp));
 
 	p->pendinginvite = p->ocseq;	/* Remember that we have a pending NOTIFY in order not to confuse the NOTIFY subsystem */
 
@@ -13282,7 +13282,7 @@
 		}
 	}
 
-	add_content(&req, out->str);
+	add_content(&req, ast_str_buffer(out));
 
 	if (!p->initreq.headers) {
 		initialize_initreq(p, &req);
@@ -17940,7 +17940,7 @@
 		print_group(fd, peer->pickupgroup, 0);
 		peer_mailboxes_to_str(&mailbox_str, peer);
 		ast_cli(fd, "  MOH Suggest  : %s\n", peer->mohsuggest);
-		ast_cli(fd, "  Mailbox      : %s\n", mailbox_str->str);
+		ast_cli(fd, "  Mailbox      : %s\n", ast_str_buffer(mailbox_str));
 		ast_cli(fd, "  VM Extension : %s\n", peer->vmexten);
 		ast_cli(fd, "  LastMsgsSent : %d/%d\n", (peer->lastmsgssent & 0x7fff0000) >> 16, peer->lastmsgssent & 0xffff);
 		ast_cli(fd, "  Call limit   : %d\n", peer->call_limit);
@@ -18053,7 +18053,7 @@
 		astman_append(s, "%s\r\n", ast_print_group(buffer, sizeof(buffer), peer->pickupgroup));
 		astman_append(s, "MOHSuggest: %s\r\n", peer->mohsuggest);
 		peer_mailboxes_to_str(&mailbox_str, peer);
-		astman_append(s, "VoiceMailbox: %s\r\n", mailbox_str->str);
+		astman_append(s, "VoiceMailbox: %s\r\n", ast_str_buffer(mailbox_str));
 		astman_append(s, "TransferMode: %s\r\n", transfermode2str(peer->allowtransfer));
 		astman_append(s, "LastMsgsSent: %d\r\n", peer->lastmsgssent);
 		astman_append(s, "Maxforwards: %d\r\n", peer->maxforwards);
@@ -18282,7 +18282,7 @@
 
 	ast_cli(a->fd, "\n");
 	ast_sched_report(sched, &cbuf, &cbnames);
-	ast_cli(a->fd, "%s", cbuf->str);
+	ast_cli(a->fd, "%s", ast_str_buffer(cbuf));
 
 	return CLI_SUCCESS;
 }
@@ -18814,7 +18814,7 @@
 				cur->subscribed == MWI_NOTIFICATION ? "--" : cur->subscribeuri,
 				cur->subscribed == MWI_NOTIFICATION ? "<none>" : ast_extension_state2str(cur->laststate),
 				subscription_type2str(cur->subscribed),
-				cur->subscribed == MWI_NOTIFICATION ? S_OR(mailbox_str->str, "<none>") : "<none>",
+				cur->subscribed == MWI_NOTIFICATION ? S_OR(ast_str_buffer(mailbox_str), "<none>") : "<none>",
 				cur->expiry
 			);
 		arg->numchans++;
@@ -19926,7 +19926,7 @@
 	} else  if (!strcasecmp(colname, "mailbox")) {
 		struct ast_str *mailbox_str = ast_str_alloca(512);
 		peer_mailboxes_to_str(&mailbox_str, peer);
-		ast_copy_string(buf, mailbox_str->str, len);
+		ast_copy_string(buf, ast_str_buffer(mailbox_str), len);
 	} else  if (!strcasecmp(colname, "context")) {
 		ast_copy_string(buf, peer->context, len);
 	} else  if (!strcasecmp(colname, "expire")) {
@@ -22621,12 +22621,12 @@
 
 	ast_str_set(&str, 0, "%s@%s", extension, sip_cfg.notifycid == IGNORE_CONTEXT ? "PICKUPMARK" : context);
 
-	ast_debug(2, "About to call Pickup(%s)\n", str->str);
+	ast_debug(2, "About to call Pickup(%s)\n", ast_str_buffer(str));
 
 	/* There is no point in capturing the return value since pickup_exec
 	   doesn't return anything meaningful unless the passed data is an empty
 	   string (which in our case it will not be) */
-	pbx_exec(channel, pickup, str->str);
+	pbx_exec(channel, pickup, ast_str_buffer(str));
 
 	return 0;
 }
@@ -25865,7 +25865,7 @@
 		lws2sws(req->data);	/* Fix multiline headers */
 	if (req->debug) {
 		ast_verbose("\n<--- SIP read from %s:%s --->\n%s\n<------------->\n",
-			get_transport(req->socket.type), ast_sockaddr_stringify(addr), req->data->str);
+			get_transport(req->socket.type), ast_sockaddr_stringify(addr), ast_str_buffer(req->data));
 	}
 
 	if (parse_request(req) == -1) { /* Bad packet, can't parse */
@@ -25906,7 +25906,7 @@
 	}
 
 	if (p->do_history) /* This is a request or response, note what it was for */
-		append_history(p, "Rx", "%s / %s / %s", req->data->str, get_header(req, "CSeq"), REQ_OFFSET_TO_STR(req, rlPart2));
+		append_history(p, "Rx", "%s / %s / %s", ast_str_buffer(req->data), get_header(req, "CSeq"), REQ_OFFSET_TO_STR(req, rlPart2));
 
 	if (handle_incoming(p, req, addr, &recount, &nounlock) == -1) {
 		/* Request failed */
@@ -26193,11 +26193,11 @@
 		peer_mailboxes_to_str(&mailbox_str, peer);
 		ao2_unlock(peer);
 		/* If there is no mailbox do nothing */
-		if (ast_strlen_zero(mailbox_str->str)) {
+		if (!ast_str_strlen(mailbox_str)) {
 			update_peer_lastmsgssent(peer, -1, 0);
 			return 0;
 		}
-		ast_app_inboxcount(mailbox_str->str, &newmsgs, &oldmsgs);
+		ast_app_inboxcount(ast_str_buffer(mailbox_str), &newmsgs, &oldmsgs);
 		ao2_lock(peer);
 	}
 
@@ -28189,7 +28189,7 @@
 				ast_str_reset(fullcontact);
 			}
 			/* Reconstruct field, because realtime separates our value at the ';' */
-			if (fullcontact->used > 0) {
+			if (ast_str_strlen(fullcontact) > 0) {
 				ast_str_append(&fullcontact, 0, ";%s", v->value);
 			} else {
 				ast_str_set(&fullcontact, 0, "%s", v->value);
@@ -28290,7 +28290,7 @@
 		/* XXX May need to revisit the final argument; does the realtime DB store whether
 		 * the original contact was over TLS or not? XXX */
 		if (!ast_test_flag(&peer->flags[0], SIP_NAT_FORCE_RPORT) || ast_sockaddr_isnull(&peer->addr)) {
-			__set_address_from_contact(fullcontact->str, &peer->addr, 0);
+			__set_address_from_contact(ast_str_buffer(fullcontact), &peer->addr, 0);
 		}
 	}
 

Modified: branches/1.8/main/indications.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/indications.c?view=diff&rev=376469&r1=376468&r2=376469
==============================================================================
--- branches/1.8/main/indications.c (original)
+++ branches/1.8/main/indications.c Mon Nov 19 13:30:58 2012
@@ -873,7 +873,7 @@
 					(j == tz->nrringcadence - 1) ? "" : ",");
 		}
 		ast_str_append(&buf, 0, "\n");
-		ast_cli(a->fd, "%s", buf->str);
+		ast_cli(a->fd, "%s", ast_str_buffer(buf));
 
 		AST_LIST_TRAVERSE(&tz->tones, ts, entry) {
 			ast_cli(a->fd, "%-7.7s %-15.15s %s\n", tz->country, ts->name, ts->data);

Modified: branches/1.8/main/security_events.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/security_events.c?view=diff&rev=376469&r1=376468&r2=376469
==============================================================================
--- branches/1.8/main/security_events.c (original)
+++ branches/1.8/main/security_events.c Mon Nov 19 13:30:58 2012
@@ -440,7 +440,7 @@
 	return ast_event_new(AST_EVENT_SECURITY,
 		AST_EVENT_IE_SECURITY_EVENT, AST_EVENT_IE_PLTYPE_UINT, sec->event_type,
 		AST_EVENT_IE_EVENT_VERSION, AST_EVENT_IE_PLTYPE_UINT, sec->version,
-		AST_EVENT_IE_EVENT_TV, AST_EVENT_IE_PLTYPE_STR, str->str,
+		AST_EVENT_IE_EVENT_TV, AST_EVENT_IE_PLTYPE_STR, ast_str_buffer(str),
 		AST_EVENT_IE_SERVICE, AST_EVENT_IE_PLTYPE_STR, sec->service,
 		AST_EVENT_IE_SEVERITY, AST_EVENT_IE_PLTYPE_STR, severity_str,
 		AST_EVENT_IE_END);




More information about the asterisk-commits mailing list