clangd broke because it can't look through symlinks. compile_commands manipulation does not fix it, clangd configuration does not fix it, a vfs overlay does not fix it, and while a combination of those can fix it with a bind mount in place that's just too cursed to even consider clangd bug: https://github.com/llvm/llvm-project/issues/116877 Change-Id: I8e3e8489548eb3a7aa65ac9d12a5ec8abf814aec
24 lines
392 B
C++
24 lines
392 B
C++
#include "lix/libexpr/gc-alloc.hh"
|
|
|
|
#include <cstring>
|
|
#include <string_view>
|
|
|
|
namespace nix
|
|
{
|
|
|
|
char const * gcCopyStringIfNeeded(std::string_view toCopyFrom)
|
|
{
|
|
if (toCopyFrom.empty()) {
|
|
return "";
|
|
}
|
|
|
|
size_t const size = toCopyFrom.size();
|
|
char * cstr = gcAllocString(size + 1);
|
|
memcpy(cstr, toCopyFrom.data(), size);
|
|
cstr[size] = '\0';
|
|
|
|
return cstr;
|
|
}
|
|
|
|
}
|