package Ġdev . ats ush i eno . m ug ene Ċ Ċ import Ġkotlinx . c interop . Byte Var Ċ import Ġkotlinx . c interop . alloc Array Ċ import Ġkotlinx . c interop . mem Scoped Ċ import Ġkotlinx . c interop . to K String Ċ import Ġplatform . posix . read link Ċ Ċ internal Ġfun Ġget Read Link Path ( file : ĠString ) Ġ: ĠString Ġ{ ĊĠĠĠ Ġmem Scoped Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= Ġalloc Array < Byte Var >( 4 0 9 6 ) ĊĠĠĠĠĠĠĠ Ġread link ( file , Ġbuffer , Ġ 4 0 9 6 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbuffer . to K String () ĊĠĠĠ Ġ} Ċ } Ċ Ċ actual Ġfun Ġget Self Executable Path () Ġ= Ġget Read Link Path ("/ proc / self / exe ") Ċ