summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-08-23 16:06:25 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-08-23 16:06:25 +0000
commitb8dfb46df78af9f46debb81805e0fc70243bb9fc (patch)
tree4e46613e17eb7377a7b0bd23a814ee77681bffa6
parent33c9c0005b28c9897ef03ac595047e423221103e (diff)
BUFCHECK() doesn't update p/pend in loop.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--file.c10
2 files changed, 7 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 2e97fb83dd..2dc5065f77 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
-Sun Aug 24 00:44:03 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Sun Aug 24 01:02:48 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (file_expand_path): performance improvement.
[ruby-talk:79748]
@@ -518,7 +518,7 @@ add-log-time-format: (lambda ()
(diff (+ (cadr time) 32400))
(lo (% diff 65536))
(hi (+ (car time) (/ diff 65536))))
- (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))
+ (format-time-string "%a %b %e %H:%M:%S %Y" (list hi lo) t)))
indent-tabs-mode: t
tab-width: 8
end:
diff --git a/file.c b/file.c
index 5215af78aa..223b243fc7 100644
--- a/file.c
+++ b/file.c
@@ -1589,7 +1589,7 @@ file_expand_path(fname, dname, result)
s++;
#endif
s = nextdirsep(b = s);
- BUFCHECK(p + (s-b) >= pend);
+ BUFCHECK(bdiff + (s-b) >= buflen);
memcpy(p, b, s-b);
p += s-b;
*p = '\0';
@@ -1613,7 +1613,7 @@ file_expand_path(fname, dname, result)
if (isdirsep(s[2])) {
/* specified drive letter, and full path */
/* skip drive letter */
- BUFCHECK(p + 2 >= pend);
+ BUFCHECK(bdiff + 2 >= buflen);
memcpy(p, s, 2);
p += 2;
s += 2;
@@ -1667,7 +1667,7 @@ file_expand_path(fname, dname, result)
b = s;
do s++; while (isdirsep(*s));
p = buf + (s - b);
- BUFCHECK(p >= pend);
+ BUFCHECK(bdiff >= buflen);
memset(buf, '/', p - buf);
}
if (p > buf && p[-1] == '/')
@@ -1718,7 +1718,7 @@ file_expand_path(fname, dname, result)
#endif
if (s > b) {
long rootdiff = root - buf;
- BUFCHECK(p + (s-b+1) >= pend);
+ BUFCHECK(bdiff + (s-b+1) >= buflen);
root = buf + rootdiff;
memcpy(++p, b, s-b);
p += s-b;
@@ -1733,7 +1733,7 @@ file_expand_path(fname, dname, result)
}
if (s > b) {
- BUFCHECK(p + (s-b) >= pend);
+ BUFCHECK(bdiff + (s-b) >= buflen);
memcpy(++p, b, s-b);
p += s-b;
}