diff --git a/ChangeLog b/ChangeLog index 67cef98eb9..0e9d5f9ef8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu May 1 08:24:00 2003 Yukihiro Matsumoto + + * regex.c (re_match_exec): $ _always_ matches at the end of string. + Wed Apr 30 14:12:00 2003 wanowa.kimura@nifty.ne.jp (kimura wataru) * net/imap.rb: support THREAD extension. diff --git a/file.c b/file.c index 079d8cc631..ca677ef1f2 100644 --- a/file.c +++ b/file.c @@ -2045,6 +2045,7 @@ rb_file_flock(obj, operation) if (fptr->mode & FMODE_WRITABLE) { fflush(GetWriteFile(fptr)); } + retry: TRAP_BEG; ret = flock(fileno(fptr->f), NUM2INT(operation)); TRAP_END; @@ -2056,6 +2057,11 @@ rb_file_flock(obj, operation) case EWOULDBLOCK: #endif return Qfalse; + case EINTR: +#if defined(ERESTART) + case ERESTART: +#endif + goto retry; } rb_sys_fail(fptr->path); } diff --git a/regex.c b/regex.c index 698f3c7151..22cbb2cb32 100644 --- a/regex.c +++ b/regex.c @@ -3883,8 +3883,7 @@ re_match_exec(bufp, string_arg, size, pos, beg, regs) case endline: if (AT_STRINGS_END(d)) { - if (size == 0 || d[-1] != '\n') - break; + break; } else if (*d == '\n') break;