diff --git a/ChangeLog b/ChangeLog index b89f7df6a0..ad2afe781f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Nov 28 13:11:45 2005 Hirokazu Yamamoto + + * win32/win32.c (rb_w32_strerror): remove all CR and LF. (avoid broken + error message on bccwin32 + winsock) + Mon Nov 28 09:15:50 2005 Hirokazu Yamamoto * lib/mkmf.rb (create_makefile): should not change sodir with diff --git a/win32/win32.c b/win32/win32.c index d9ab68a902..a5665cf008 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -1759,9 +1759,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; }