MCPcopy Create free account
hub / github.com/ElementsProject/lightning / path_join

Function path_join

ccan/ccan/tal/path/path.c:28–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26}
27
28char *path_join(const tal_t *ctx, const char *base, const char *a)
29{
30 char *ret = NULL;
31 size_t len;
32
33 if (unlikely(!a) && taken(a)) {
34 if (taken(base))
35 tal_free(base);
36 return NULL;
37 }
38
39 if (a[0] == PATH_SEP) {
40 if (taken(base))
41 tal_free(base);
42 return tal_strdup(ctx, a);
43 }
44
45 if (unlikely(!base) && taken(base))
46 goto out;
47
48 len = strlen(base);
49 ret = tal_dup_arr(ctx, char, base, len, 1 + strlen(a) + 1);
50 if (!ret)
51 goto out;
52 if (len != 0 && ret[len-1] != PATH_SEP)
53 ret[len++] = PATH_SEP;
54 strcpy(ret + len, a);
55
56out:
57 if (taken(a))
58 tal_free(a);
59 return ret;
60}
61
62#if HAVE_FCHDIR
63struct path_pushd {

Callers 15

get_filesFunction · 0.85
decrypt_hsmFunction · 0.85
encrypt_hsmFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
mainFunction · 0.85
promote_missing_filesFunction · 0.85
handle_early_optsFunction · 0.85
find_my_abspathFunction · 0.85
plugin_fullpathFunction · 0.85
plugins_add_default_dirFunction · 0.85
plugins_initFunction · 0.85

Calls 2

takenFunction · 0.85
tal_freeFunction · 0.85

Tested by 10

mainFunction · 0.68
mainFunction · 0.68
mainFunction · 0.68
mainFunction · 0.68
mainFunction · 0.68
mainFunction · 0.68
mainFunction · 0.68
mainFunction · 0.68
mainFunction · 0.68
mainFunction · 0.68