summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--file.c6
-rw-r--r--regex.c3
3 files changed, 11 insertions, 2 deletions
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 <matz@ruby-lang.org>
+
+ * 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;