summaryrefslogtreecommitdiff
path: root/glob.c
diff options
context:
space:
mode:
authorYukihiro Matsumoto <matz@ruby-lang.org>1994-11-22 01:22:30 +0900
committerTakashi Kokubun <takashikkbn@gmail.com>2019-08-17 22:09:30 +0900
commit4dfd93c72a9a221c5575c5888483f2fb55c82117 (patch)
treed31f646aef5fdfda2869a40f7758a12158976602 /glob.c
parentc31025779da3020b9d1e9ad4c920e76b6b97d5fd (diff)
version 0.56v0_56
https://cache.ruby-lang.org/pub/ruby/1.0/ruby-0.55-0.56.diff.gz
Diffstat (limited to 'glob.c')
-rw-r--r--glob.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/glob.c b/glob.c
index d74aa1ffce..bc4ad8aad0 100644
--- a/glob.c
+++ b/glob.c
@@ -131,11 +131,18 @@ Fglob_each(glob)
rb_yield(str_new2(*patv));
continue;
}
- fnames = ff = glob_filename(*patv);
- while (*ff) {
- rb_yield(str_new2(*ff));
- free(*ff);
- ff++;
+ fnames = glob_filename(*patv);
+ if (fnames == (char**)-1) rb_sys_fail(*patv);
+ if (fnames[0] == Qnil) {
+ rb_yield(str_new2(*patv));
+ }
+ else {
+ ff = fnames;
+ while (*ff) {
+ rb_yield(str_new2(*ff));
+ free(*ff);
+ ff++;
+ }
}
free(fnames);
}