summaryrefslogtreecommitdiff
path: root/unix/main.c
diff options
context:
space:
mode:
authorstijn <stinos@zoho.com>2014-06-05 12:33:55 +0200
committerstijn <stinos@zoho.com>2014-06-05 12:34:41 +0200
commitdf3ab0799486612245ed1708b84d2b1595311ae8 (patch)
tree20bc53568fdc25fc19f5e63b00425b195eb62a54 /unix/main.c
parent1e82ef3ae8fd8c7570b3c2094fa8b129b354dcdd (diff)
unix: Fix path seperator used depending on OS
';' is the standard seperator used for paths in environment variables on Windows
Diffstat (limited to 'unix/main.c')
-rw-r--r--unix/main.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/unix/main.c b/unix/main.c
index 7c3fbf6aa..26736e431 100644
--- a/unix/main.c
+++ b/unix/main.c
@@ -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) {
volatile int stack_dummy;
stack_top = (char*)&stack_dummy;
@@ -281,7 +287,7 @@ int main(int argc, char **argv) {
path = "~/.micropython/lib:/usr/lib/micropython";
}
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++;
if (p != NULL) {
p++;
@@ -293,7 +299,7 @@ int main(int argc, char **argv) {
path_items[0] = MP_OBJ_NEW_QSTR(MP_QSTR_);
char *p = path;
for (int i = 1; i < path_num; i++) {
- char *p1 = strchr(p, ':');
+ char *p1 = strchr(p, PATHLIST_SEP_CHAR);
if (p1 == NULL) {
p1 = p + strlen(p);
}