MCPcopy Create free account
hub / github.com/Overload-Technologies/Overload / elf_readlink

Function elf_readlink

Dependencies/tracy/libbacktrace/elf.cpp:836–867  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

834 *LEN. */
835
836static char *
837elf_readlink (struct backtrace_state *state, const char *filename,
838 backtrace_error_callback error_callback, void *data,
839 size_t *plen)
840{
841 size_t len;
842 char *buf;
843
844 len = 128;
845 while (1)
846 {
847 ssize_t rl;
848
849 buf = (char*)backtrace_alloc (state, len, error_callback, data);
850 if (buf == NULL)
851 return NULL;
852 rl = readlink (filename, buf, len);
853 if (rl < 0)
854 {
855 backtrace_free (state, buf, len, error_callback, data);
856 return NULL;
857 }
858 if ((size_t) rl < len - 1)
859 {
860 buf[rl] = '\0';
861 *plen = len;
862 return buf;
863 }
864 backtrace_free (state, buf, len, error_callback, data);
865 len *= 2;
866 }
867}
868
869#define SYSTEM_BUILD_ID_DIR "/usr/lib/debug/.build-id/"
870

Callers 1

Calls 2

backtrace_allocFunction · 0.85
backtrace_freeFunction · 0.85

Tested by

no test coverage detected