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.

This commit is contained in:
Jeff Lenk 2012-09-16 14:15:49 -05:00
parent dd4a995b34
commit e22f42334d
3 changed files with 6 additions and 2 deletions

View File

@ -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

View File

@ -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;

View File

@ -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 '_'