summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-08-12 09:55:12 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2014-08-12 09:55:12 (GMT)
commit6f2017076293f0e1ea807260434053a58be6667b (patch)
tree2d3003a04fd0460556cb7cb1195aa7381130cb39
parentc04d468333290e42913449f402d5110d556afe8a (diff)
downloadcpython-6f2017076293f0e1ea807260434053a58be6667b.zip
cpython-6f2017076293f0e1ea807260434053a58be6667b.tar.gz
cpython-6f2017076293f0e1ea807260434053a58be6667b.tar.bz2
Issue #17923: glob() patterns ending with a slash no longer match non-dirs on
AIX. Based on patch by Delhallt.
-rw-r--r--Lib/glob.py11
-rw-r--r--Misc/NEWS3
2 files changed, 11 insertions, 3 deletions
diff --git a/Lib/glob.py b/Lib/glob.py
index e388b5f..d6eca24 100644
--- a/Lib/glob.py
+++ b/Lib/glob.py
@@ -26,11 +26,16 @@ def iglob(pathname):
patterns.
"""
+ dirname, basename = os.path.split(pathname)
if not has_magic(pathname):
- if os.path.lexists(pathname):
- yield pathname
+ if basename:
+ if os.path.lexists(pathname):
+ yield pathname
+ else:
+ # Patterns ending with a slash should match only directories
+ if os.path.isdir(dirname):
+ yield pathname
return
- dirname, basename = os.path.split(pathname)
if not dirname:
yield from glob1(None, basename)
return
diff --git a/Misc/NEWS b/Misc/NEWS
index b993e96..45bbe6b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,9 @@ Core and Builtins
Library
-------
+- Issue #17923: glob() patterns ending with a slash no longer match non-dirs on
+ AIX. Based on patch by Delhallt.
+
- Issue #21121: Don't force 3rd party C extensions to be built with
-Werror=declaration-after-statement.