summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--win32/win32.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ac0431aeb5..429cbcf5cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Nov 28 13:08:54 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
+
+ * win32/win32.c (rb_w32_strerror): remove all CR and LF. (avoid broken
+ error message on bccwin32 + winsock)
+
Mon Nov 28 09:21:49 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* lib/mkmf.rb (create_makefile): should not change sodir with
diff --git a/win32/win32.c b/win32/win32.c
index 530cada51f..f4a3ee6375 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -1712,9 +1712,9 @@ rb_w32_strerror(int e)
buffer[sizeof(buffer) - 1] = 0;
}
- for (p = buffer + strlen(buffer) - 1; buffer <= p; p--) {
- if (*p != '\r' && *p != '\n') break;
- *p = 0;
+ p = buffer;
+ while ((p = strpbrk(p, "\r\n")) != NULL) {
+ memmove(p, p + 1, strlen(p));
}
return buffer;
}