summaryrefslogtreecommitdiff
path: root/dir.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-25 14:52:37 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-25 14:52:37 +0000
commit12852c2e9ad0b25395d32c4ee147eb770408cf41 (patch)
treeadfa0f16338897148efd66dbfda189e44b9696b2 /dir.c
parent44b2f1609ca6a4732066c70f06499e46ab5b6bf9 (diff)
* dir.c (glob_helper): must not closedir() when exception raised
while globbing "**". * marshal.c (w_uclass): unused variable. * re.c (match_clone): unused. * regex.c (re_compile_pattern): get rid of implicit promotion from plain char to int. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'dir.c')
-rw-r--r--dir.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/dir.c b/dir.c
index 212f713..fa1f6fb 100644
--- a/dir.c
+++ b/dir.c
@@ -789,7 +789,7 @@ glob_helper(path, sub, flags, func, arg)
strcpy(t+3, m);
status = glob_helper(buf, t, flags, func, arg);
free(buf);
- if (status) goto finalize;
+ if (status) break;
continue;
}
free(buf);
@@ -801,7 +801,7 @@ glob_helper(path, sub, flags, func, arg)
if (!m) {
status = glob_call_func(func, buf, arg);
free(buf);
- if (status) goto finalize;
+ if (status) break;
continue;
}
tmp = ALLOC(struct d_link);
@@ -810,8 +810,8 @@ glob_helper(path, sub, flags, func, arg)
link = tmp;
}
}
- finalize:
closedir(dirp);
+ finalize:
free(base);
free(magic);
if (link) {