mgcp_client: cosmetic: clean up SDP params parsing
The mgcp_response_parse_params() is in a jumble. Straighten out these cosmetic issues: - Move assertion of r->body close to its first use. - Instead of a talloc_zero and osmo_strlcpy dance, simply use talloc_strdup(). - Drop the first unused invocation of mgcp_find_section_end(). - Drop unused assignment of data_ptr = data. - In the log, mention "SDP" to clarify. - Add a comment clarifying how we skip the section marker. Change-Id: Icf1df761270777a142bc8ace75f2a10918314f73
This commit is contained in:
parent
a8c6a9c37a
commit
0793d2f5d5
|
@ -251,26 +251,27 @@ int mgcp_response_parse_params(struct mgcp_response *r)
|
|||
{
|
||||
char *line;
|
||||
int rc;
|
||||
OSMO_ASSERT(r->body);
|
||||
char *data = mgcp_find_section_end(r->body);
|
||||
char *data;
|
||||
char *data_ptr;
|
||||
|
||||
/* Since this functions performs a destructive parsing, we create a
|
||||
* local copy of the body data */
|
||||
data = talloc_zero_size(r, strlen(r->body)+1);
|
||||
OSMO_ASSERT(r->body);
|
||||
data = talloc_strdup(r, r->body);
|
||||
OSMO_ASSERT(data);
|
||||
data_ptr = data;
|
||||
osmo_strlcpy(data, r->body, strlen(r->body));
|
||||
|
||||
/* Find beginning of the parameter (SDP) section */
|
||||
data_ptr = mgcp_find_section_end(data);
|
||||
if (!data) {
|
||||
LOGP(DLMGCP, LOGL_ERROR,
|
||||
"MGCP response: cannot find start of parameters\n");
|
||||
"MGCP response: cannot find start of SDP parameters\n");
|
||||
rc = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
/* data_ptr now points to the beginning of the section-end-marker; for_each_non_empty_line()
|
||||
* skips any \r and \n characters for free, so we don't need to skip the marker. */
|
||||
|
||||
for_each_non_empty_line(line, data_ptr) {
|
||||
if (!mgcp_line_is_valid(line))
|
||||
return -EINVAL;
|
||||
|
|
Loading…
Reference in New Issue