提交 e22f4233 authored 作者: Jeff Lenk's avatar Jeff Lenk

FS-4099 --resolve switch windows to use posix delimiter (/) for base paths. This…

FS-4099 --resolve switch windows to use posix delimiter (/) for base paths. This will correct numerous problems with escaped chars. This change only effects windows builds. Please test.
上级 dd4a995b
...@@ -113,7 +113,7 @@ SWITCH_BEGIN_EXTERN_C ...@@ -113,7 +113,7 @@ SWITCH_BEGIN_EXTERN_C
#define SWITCH_MAX_DTMF_DURATION 192000 #define SWITCH_MAX_DTMF_DURATION 192000
#define SWITCH_DEFAULT_DIR_PERMS SWITCH_FPROT_UREAD | SWITCH_FPROT_UWRITE | SWITCH_FPROT_UEXECUTE | SWITCH_FPROT_GREAD | SWITCH_FPROT_GEXECUTE #define SWITCH_DEFAULT_DIR_PERMS SWITCH_FPROT_UREAD | SWITCH_FPROT_UWRITE | SWITCH_FPROT_UEXECUTE | SWITCH_FPROT_GREAD | SWITCH_FPROT_GEXECUTE
#ifdef WIN32 #ifdef WIN32
#define SWITCH_PATH_SEPARATOR "\\" #define SWITCH_PATH_SEPARATOR "/"
#else #else
#define SWITCH_PATH_SEPARATOR "/" #define SWITCH_PATH_SEPARATOR "/"
#endif #endif
......
...@@ -520,12 +520,16 @@ SWITCH_DECLARE(void) switch_core_set_globals(void) ...@@ -520,12 +520,16 @@ SWITCH_DECLARE(void) switch_core_set_globals(void)
DWORD dwBufSize = BUFSIZE; DWORD dwBufSize = BUFSIZE;
char base_dir[1024]; char base_dir[1024];
char *lastbacklash; char *lastbacklash;
char *tmp;
GetModuleFileName(NULL, base_dir, BUFSIZE); GetModuleFileName(NULL, base_dir, BUFSIZE);
lastbacklash = strrchr(base_dir, '\\'); lastbacklash = strrchr(base_dir, '\\');
base_dir[(lastbacklash - base_dir)] = '\0'; base_dir[(lastbacklash - base_dir)] = '\0';
/* set base_dir as cwd, to be able to use relative paths in scripting languages (e.g. mod_lua) when FS is running as a service or while debugging FS using visual studio */ /* set base_dir as cwd, to be able to use relative paths in scripting languages (e.g. mod_lua) when FS is running as a service or while debugging FS using visual studio */
SetCurrentDirectory(base_dir); SetCurrentDirectory(base_dir);
tmp = switch_string_replace(base_dir, "\\", "/");
strcpy(base_dir, tmp);
free(tmp);
#else #else
char base_dir[1024] = SWITCH_PREFIX_DIR; char base_dir[1024] = SWITCH_PREFIX_DIR;
......
...@@ -3076,7 +3076,7 @@ done: ...@@ -3076,7 +3076,7 @@ done:
#define RANGE '-' #define RANGE '-'
#define RBRACKET ']' #define RBRACKET ']'
#define SEP '/' #define SEP '/'
#define WIN_SEP '\\' #define WIN_SEP '/'
#define STAR '*' #define STAR '*'
#define TILDE '~' #define TILDE '~'
#define UNDERSCORE '_' #define UNDERSCORE '_'
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论