]>
git.proxmox.com Git - libgit2.git/blob - src/strarray.c
2 * Copyright (C) the libgit2 contributors. All rights reserved.
4 * This file is part of libgit2, distributed under the GNU GPL v2 with
5 * a Linking Exception. For full terms see the included COPYING file.
12 int git_strarray_copy(git_strarray
*tgt
, const git_strarray
*src
)
18 memset(tgt
, 0, sizeof(*tgt
));
23 tgt
->strings
= git__calloc(src
->count
, sizeof(char *));
24 GIT_ERROR_CHECK_ALLOC(tgt
->strings
);
26 for (i
= 0; i
< src
->count
; ++i
) {
30 tgt
->strings
[tgt
->count
] = git__strdup(src
->strings
[i
]);
31 if (!tgt
->strings
[tgt
->count
]) {
32 git_strarray_dispose(tgt
);
33 memset(tgt
, 0, sizeof(*tgt
));
43 void git_strarray_dispose(git_strarray
*array
)
50 for (i
= 0; i
< array
->count
; ++i
)
51 git__free(array
->strings
[i
]);
53 git__free(array
->strings
);
55 memset(array
, 0, sizeof(*array
));
58 #ifndef GIT_DEPRECATE_HARD
59 void git_strarray_free(git_strarray
*array
)
61 git_strarray_dispose(array
);