From d51a3504e8fef21d8e590bb9bf567a5882895bda Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 26 Dec 2025 17:21:33 +0900 Subject: [PATCH] mruby-bin-mirb: fix Windows/MSVC compilation warnings - Define strdup as _strdup on MSVC to avoid deprecation warning - Add strndup implementation for Windows (not available in MSVC) Co-authored-by: Claude --- .../mruby-bin-mirb/tools/mirb/mirb_completion.c | 17 +++++++++++++++++ .../mruby-bin-mirb/tools/mirb/mirb_history.c | 5 +++++ 2 files changed, 22 insertions(+) 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 */