summaryrefslogtreecommitdiffstats
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
commite923d742d3978cd1d624abb00e18fb793d2e820b (patch)
treeadfa0f16338897148efd66dbfda189e44b9696b2 /dir.c
parent7a51e3d0edfd8808f0fd8e709303cc694d8967e2 (diff)
downloadruby-e923d742d3978cd1d624abb00e18fb793d2e820b.tar.gz
ruby-e923d742d3978cd1d624abb00e18fb793d2e820b.tar.xz
ruby-e923d742d3978cd1d624abb00e18fb793d2e820b.zip
* 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: http://svn.ruby-lang.org/repos/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 212f71329..fa1f6fbc3 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) {