| 12 | #include <assert.h> |
| 13 | |
| 14 | char *path_cwd(const tal_t *ctx) |
| 15 | { |
| 16 | size_t len = 64; |
| 17 | char *cwd; |
| 18 | |
| 19 | /* *This* is why people hate C. */ |
| 20 | cwd = tal_arr(ctx, char, len); |
| 21 | while (cwd && !getcwd(cwd, len)) { |
| 22 | if (errno != ERANGE || !tal_resize(&cwd, len *= 2)) |
| 23 | cwd = tal_free(cwd); |
| 24 | } |
| 25 | return cwd; |
| 26 | } |
| 27 | |
| 28 | char *path_join(const tal_t *ctx, const char *base, const char *a) |
| 29 | { |