diff --git a/ChangeLog b/ChangeLog
index c734faa0de..1ff0262de7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Dec 26 19:37:37 2010  Tanaka Akira  <akr@fsij.org>
+
+	* ext/socket/option.c: define IFNAMSIZ if not available.
+	  fix compilation error on mingw32.  reported by nobu.
+
 Sun Dec 26 12:16:29 2010  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 
 	* lib/rdoc/ri/paths.rb (RDoc::RI::Paths::HOMEDIR): no exception if
diff --git a/ext/socket/option.c b/ext/socket/option.c
index 96cc8b440f..fec8277da1 100644
--- a/ext/socket/option.c
+++ b/ext/socket/option.c
@@ -465,6 +465,9 @@ rb_if_indextoname(const char *succ_prefix, const char *fail_prefix, unsigned int
     else
         return snprintf(buf, len, "%s%s", succ_prefix, ifbuf);
 #else
+#   ifndef IFNAMSIZ
+#       define IFNAMSIZ (sizeof(unsigned int)*3+1)
+#   endif
     return snprintf(buf, len, "%s%u", fail_prefix, ifindex);
 #endif
 }