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 2 : static char *lookup(const char *variable, void *userdata) { 10 2 : return strjoin("<<<", variable, ">>>"); 11 : } 12 : 13 1 : int main(int argc, char *argv[]) { 14 : char *r; 15 : 16 1 : assert_se(r = replace_var("@@@foobar@xyz@HALLO@foobar@test@@testtest@TEST@...@@@", lookup, NULL)); 17 1 : puts(r); 18 1 : assert_se(streq(r, "@@@foobar@xyz<<<HALLO>>>foobar@test@@testtest<<<TEST>>>...@@@")); 19 1 : free(r); 20 : 21 1 : assert_se(r = strreplace("XYZFFFFXYZFFFFXYZ", "XYZ", "ABC")); 22 1 : puts(r); 23 1 : assert_se(streq(r, "ABCFFFFABCFFFFABC")); 24 1 : free(r); 25 : 26 1 : return 0; 27 : }