Merge pull request #662 from stinos/windows-pathsep

unix: Fix path seperator used depending on OS
This commit is contained in:
Damien George 2014-06-07 00:05:59 +01:00
commit c61be8e1e1

View file

@ -261,6 +261,12 @@ void pre_process_options(int argc, char **argv) {
} }
} }
#ifdef _WIN32
#define PATHLIST_SEP_CHAR ';'
#else
#define PATHLIST_SEP_CHAR ':'
#endif
int main(int argc, char **argv) { int main(int argc, char **argv) {
volatile int stack_dummy; volatile int stack_dummy;
stack_top = (char*)&stack_dummy; stack_top = (char*)&stack_dummy;
@ -281,7 +287,7 @@ int main(int argc, char **argv) {
path = "~/.micropython/lib:/usr/lib/micropython"; path = "~/.micropython/lib:/usr/lib/micropython";
} }
uint path_num = 1; // [0] is for current dir (or base dir of the script) uint path_num = 1; // [0] is for current dir (or base dir of the script)
for (char *p = path; p != NULL; p = strchr(p, ':')) { for (char *p = path; p != NULL; p = strchr(p, PATHLIST_SEP_CHAR)) {
path_num++; path_num++;
if (p != NULL) { if (p != NULL) {
p++; p++;
@ -293,7 +299,7 @@ int main(int argc, char **argv) {
path_items[0] = MP_OBJ_NEW_QSTR(MP_QSTR_); path_items[0] = MP_OBJ_NEW_QSTR(MP_QSTR_);
char *p = path; char *p = path;
for (int i = 1; i < path_num; i++) { for (int i = 1; i < path_num; i++) {
char *p1 = strchr(p, ':'); char *p1 = strchr(p, PATHLIST_SEP_CHAR);
if (p1 == NULL) { if (p1 == NULL) {
p1 = p + strlen(p); p1 = p + strlen(p);
} }