mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-01 22:58:47 -04:00
core-util: Improve pa_replace() behaviour
- Assert that the search string isn't empty. - Add test. - Improve documentation.
This commit is contained in:
parent
c9c8f4285f
commit
111e332556
3 changed files with 11 additions and 0 deletions
|
|
@ -3194,6 +3194,7 @@ char *pa_replace(const char*s, const char*a, const char *b) {
|
|||
|
||||
pa_assert(s);
|
||||
pa_assert(a);
|
||||
pa_assert(*a);
|
||||
pa_assert(b);
|
||||
|
||||
an = strlen(a);
|
||||
|
|
|
|||
|
|
@ -249,6 +249,10 @@ void pa_reduce(unsigned *num, unsigned *den);
|
|||
|
||||
unsigned pa_ncpus(void);
|
||||
|
||||
/* Replaces all occurrences of `a' in `s' with `b'. The caller has to free the
|
||||
* returned string. All parameters must be non-NULL and additionally `a' must
|
||||
* not be a zero-length string.
|
||||
*/
|
||||
char *pa_replace(const char*s, const char*a, const char *b);
|
||||
|
||||
/* Escapes p by inserting backslashes in front of backslashes. chars is a
|
||||
|
|
|
|||
|
|
@ -228,6 +228,11 @@ START_TEST (modargs_test_escape) {
|
|||
}
|
||||
END_TEST
|
||||
|
||||
START_TEST (modargs_test_replace_fail_4) {
|
||||
pa_replace("abe", "", "bab");
|
||||
}
|
||||
END_TEST
|
||||
|
||||
START_TEST (modargs_test_unescape) {
|
||||
char* value;
|
||||
|
||||
|
|
@ -264,6 +269,7 @@ int main(int argc, char *argv[]) {
|
|||
tcase_add_test_raise_signal(tc, modargs_test_replace_fail_1, SIGABRT);
|
||||
tcase_add_test_raise_signal(tc, modargs_test_replace_fail_2, SIGABRT);
|
||||
tcase_add_test_raise_signal(tc, modargs_test_replace_fail_3, SIGABRT);
|
||||
tcase_add_test_raise_signal(tc, modargs_test_replace_fail_4, SIGABRT);
|
||||
tcase_add_test(tc, modargs_test_escape);
|
||||
tcase_add_test(tc, modargs_test_unescape);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue