aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/timezone/README2
-rw-r--r--src/timezone/zic.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/timezone/README b/src/timezone/README
index f2f80c7176a..a82d77c7baf 100644
--- a/src/timezone/README
+++ b/src/timezone/README
@@ -50,7 +50,7 @@ match properly on the old version.
Time Zone code
==============
-The code in this directory is currently synced with tzcode release 2016c.
+The code in this directory is currently synced with tzcode release 2016j.
There are many cosmetic (and not so cosmetic) differences from the
original tzcode library, but diffs in the upstream version should usually
be propagated to our version. Here are some notes about that.
diff --git a/src/timezone/zic.c b/src/timezone/zic.c
index 2f623e03a58..a83cea12ddc 100644
--- a/src/timezone/zic.c
+++ b/src/timezone/zic.c
@@ -3634,6 +3634,11 @@ mkdirs(char const * argname, bool ancestors)
*/
if (mkdir(name, MKDIR_UMASK) != 0)
{
+ /*
+ * For speed, skip itsdir if errno == EEXIST. Since mkdirs is
+ * called only after open fails with ENOENT on a subfile, EEXIST
+ * implies itsdir here.
+ */
int err = errno;
if (err != EEXIST && !itsdir(name))