Branch data Line data Source code
1 : : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : : 3 : : #include <stdio.h> 4 : : 5 : : #include "macro.h" 6 : : #include "replace-var.h" 7 : : #include "string-util.h" 8 : : 9 : 8 : static char *lookup(const char *variable, void *userdata) { 10 : 8 : return strjoin("<<<", variable, ">>>"); 11 : : } 12 : : 13 : 4 : int main(int argc, char *argv[]) { 14 : : char *r; 15 : : 16 [ - + ]: 4 : assert_se(r = replace_var("@@@foobar@xyz@HALLO@foobar@test@@testtest@TEST@...@@@", lookup, NULL)); 17 : 4 : puts(r); 18 [ - + ]: 4 : assert_se(streq(r, "@@@foobar@xyz<<<HALLO>>>foobar@test@@testtest<<<TEST>>>...@@@")); 19 : 4 : free(r); 20 : : 21 [ - + ]: 4 : assert_se(r = strreplace("XYZFFFFXYZFFFFXYZ", "XYZ", "ABC")); 22 : 4 : puts(r); 23 [ - + ]: 4 : assert_se(streq(r, "ABCFFFFABCFFFFABC")); 24 : 4 : free(r); 25 : : 26 : 4 : return 0; 27 : : }