]> git.ipfire.org Git - thirdparty/asterisk.git/commit
vector: Additional enhancements and fixes 74/374/5
authorGeorge Joseph <george.joseph@fairview5.com>
Wed, 6 May 2015 01:22:13 +0000 (19:22 -0600)
committerGeorge Joseph <george.joseph@fairview5.com>
Thu, 7 May 2015 03:35:54 +0000 (21:35 -0600)
commit5f9aea8e3ceeabcde699001ab5e0547405a5ba78
tree5b36af3c7a95aed06f76eec8d4a381d8c4f3bc69
parentd6ffbe39b0ffac581c341bda01c88bd8eb4f5073
vector:  Additional enhancements and fixes

After using the new vector stuff for real I found...

A bug in AST_VECTOR_INSERT_AT that could cause a seg fault.

The callbacks needed to be closer to ao2_callback in behavior
WRT to CMP_MATCH and CMP_STOP behavior and the ability to return
a vector of matched entries.

A pre-existing issue with APPEND and REPLACE was also fixed.

I also added a new macro to test.h that acts like ast_test_validate
but also accepts a return code variable and a cleanup label.  As well
as printing the error, it sets the rc variable to AST_TEST_FAIL and
does a goto to the specified label on error.  I had a local version
of this in test_vector so I just moved it.

ASTERISK-25045

Change-Id: I05e5e47fd02f61964be13b7e8942bab5d61b29cc
include/asterisk/test.h
include/asterisk/vector.h
tests/test_vector.c