strvec: add functions to replace and remove strings
Add two functions that allow to replace and remove strings contained in the strvec. This will be used by a subsequent commit that refactors git-mv(1). While at it, add a bunch of unit tests that cover both old and new functionality. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
3ef52dd112
commit
11ce77b5cc
@ -75,6 +75,18 @@ int test_assert(const char *location, const char *check, int ok);
|
||||
check_bool_loc(TEST_LOCATION(), #x, x)
|
||||
int check_bool_loc(const char *loc, const char *check, int ok);
|
||||
|
||||
/*
|
||||
* Compare two integers. Prints a message with the two values if the
|
||||
* comparison fails. NB this is not thread safe.
|
||||
*/
|
||||
#define check_pointer_eq(a, b) \
|
||||
(test__tmp[0].p = (a), test__tmp[1].p = (b), \
|
||||
check_pointer_eq_loc(TEST_LOCATION(), #a" == "#b, \
|
||||
test__tmp[0].p == test__tmp[1].p, \
|
||||
test__tmp[0].p, test__tmp[1].p))
|
||||
int check_pointer_eq_loc(const char *loc, const char *check, int ok,
|
||||
const void *a, const void *b);
|
||||
|
||||
/*
|
||||
* Compare two integers. Prints a message with the two values if the
|
||||
* comparison fails. NB this is not thread safe.
|
||||
@ -136,6 +148,7 @@ union test__tmp {
|
||||
intmax_t i;
|
||||
uintmax_t u;
|
||||
char c;
|
||||
const void *p;
|
||||
};
|
||||
|
||||
extern union test__tmp test__tmp[2];
|
||||
|
Reference in New Issue
Block a user