281 |
char * make_path(const char * parent, const char * relative_path) { |
char * make_path(const char * parent, const char * relative_path) { |
282 |
size_t parent_length = strlen(parent); |
size_t parent_length = strlen(parent); |
283 |
size_t relative_path_length = strlen(relative_path); |
size_t relative_path_length = strlen(relative_path); |
|
assert(parent_length > 0); |
|
|
assert(relative_path_length > 0); |
|
284 |
size_t result_length = addst(parent_length, relative_path_length); |
size_t result_length = addst(parent_length, relative_path_length); |
285 |
int parent_ends_with_slash = is_slash(parent[parent_length - 1]); |
int parent_ends_with_slash = parent_length > 0 && is_slash(parent[parent_length - 1]); |
286 |
if (parent_ends_with_slash) { |
if (parent_ends_with_slash) { |
287 |
result_length = addst(result_length, 1); |
result_length = addst(result_length, 1); |
288 |
} |
} |