channels/sip/reqresp_parser: Fix unit tests for r426594

When r426594 was made, it did not take into account a unit test that verified
that the function properly populated the unsupported buffer. The function
would previously memset the buffer if it detected it had any contents; since
this function can now be called iteratively on successive headers, the unit
tests would now fail. This patch updates the unit tests to reset the buffer
themselves between successive calls, and updates the documentation of the
function to note that this is now required.
........

Merged revisions 426858 from http://svn.asterisk.org/svn/asterisk/branches/1.8


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@426860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Matthew Jordan
2014-10-31 03:25:01 +00:00
parent 2716e17f51
commit 9da14f75e0
2 changed files with 6 additions and 1 deletions

View File

@@ -1601,7 +1601,6 @@ unsigned int parse_sip_options(const char *options, char *unsupported, size_t un
temp = ast_strdupa(options);
ast_debug(3, "Begin: parsing SIP \"Supported: %s\"\n", options);
for (next = temp; next; next = sep) {
found = FALSE;
supported = FALSE;
@@ -1761,6 +1760,7 @@ AST_TEST_DEFINE(sip_parse_options_test)
/* Test with unsupported char buffer */
AST_LIST_TRAVERSE(&testdatalist, testdataptr, list) {
memset(unsupported, 0, sizeof(unsupported));
option_profile = parse_sip_options(testdataptr->input_options, unsupported, ARRAY_LEN(unsupported));
if (option_profile != testdataptr->expected_profile ||
strcmp(unsupported, testdataptr->expected_unsupported)) {