More accurate EXEDIR detection
Use ony the OS path separator to parse the executable filename
This commit is contained in:
parent
ffb4773a0b
commit
636bc7ec95
19
src/main.c
19
src/main.c
|
@ -60,6 +60,15 @@ static void init_window_icon(void) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define LITE_OS_HOME "USERPROFILE"
|
||||||
|
#define LITE_PATHSEP_PATTERN "\\\\"
|
||||||
|
#define LITE_NONPATHSEP_PATTERN "[^\\\\]"
|
||||||
|
#else
|
||||||
|
#define LITE_OS_HOME "HOME"
|
||||||
|
#define LITE_PATHSEP_PATTERN "/"
|
||||||
|
#define LITE_NONPATHSEP_PATTERN "[^/]"
|
||||||
|
#endif
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
@ -117,13 +126,9 @@ init_lua:
|
||||||
const char *init_lite_code = \
|
const char *init_lite_code = \
|
||||||
"local core\n"
|
"local core\n"
|
||||||
"xpcall(function()\n"
|
"xpcall(function()\n"
|
||||||
#ifdef _WIN32
|
" HOME = os.getenv('" LITE_OS_HOME "')\n"
|
||||||
" HOME = os.getenv('USERPROFILE')\n"
|
" local exedir = EXEFILE:match(\"^(.+)" LITE_PATHSEP_PATTERN LITE_NONPATHSEP_PATTERN "+$\")\n"
|
||||||
#else
|
" local prefix = exedir:match(\"^(.+)" LITE_PATHSEP_PATTERN "bin$\")\n"
|
||||||
" HOME = os.getenv('HOME')\n"
|
|
||||||
#endif
|
|
||||||
" local prefix = EXEFILE:match(\"^(.+)[/\\\\]bin[/\\\\][^/\\\\]+$\")\n"
|
|
||||||
" local exedir = EXEFILE:match(\"^(.+)[/\\\\][^/\\\\]+$\")\n"
|
|
||||||
" dofile((prefix and prefix .. '/share/lite-xl' or exedir .. '/data') .. '/core/start.lua')\n"
|
" dofile((prefix and prefix .. '/share/lite-xl' or exedir .. '/data') .. '/core/start.lua')\n"
|
||||||
" core = require('core')\n"
|
" core = require('core')\n"
|
||||||
" core.init()\n"
|
" core.init()\n"
|
||||||
|
|
Loading…
Reference in New Issue