15std::unique_ptr<char[]>
RelativePath(
const char* exec_path,
const char* name) {
17 size_t basename_start = strlen(exec_path);
18 while (basename_start > 0 &&
22 size_t name_length = strlen(name);
23 auto buffer = std::make_unique<char[]>(basename_start + name_length + 1);
24 if (basename_start > 0) memcpy(buffer.get(), exec_path, basename_start);
25 memcpy(buffer.get() + basename_start, name, name_length);