diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb_completion.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb_completion.c index 58e0358a3..58f117733 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb_completion.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb_completion.c @@ -19,6 +19,23 @@ #include #include +/* Windows compatibility */ +#ifdef _MSC_VER +#define strdup _strdup +static char* +strndup(const char *s, size_t n) +{ + size_t len = strlen(s); + if (len > n) len = n; + char *p = (char*)malloc(len + 1); + if (p) { + memcpy(p, s, len); + p[len] = '\0'; + } + return p; +} +#endif + #ifdef MRB_USE_READLINE #ifndef MRB_USE_LINENOISE #include MRB_READLINE_HEADER diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb_history.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb_history.c index 65045f0d5..6d20e2920 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb_history.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb_history.c @@ -9,6 +9,11 @@ #include #include +/* Windows compatibility */ +#ifdef _MSC_VER +#define strdup _strdup +#endif + /* * Initialize history */