From 6f4d38dbe06867df01dd62b52dae1654eba3976f Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 15 Dec 2016 14:32:42 -0500
Subject: [PATCH] Sync our copy of the timezone library with IANA release
 tzcode2016j.

This is a trivial update (consisting in fact only in the addition of
a comment).  The point is just to get back to being synced with an
official release of tzcode, rather than some ad-hoc point in their
commit history, which is where commit 1f87181e1 left it.
---
 src/timezone/README | 2 +-
 src/timezone/zic.c  | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/timezone/README b/src/timezone/README
index f2f80c7176..a82d77c7ba 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 2f623e03a5..a83cea12dd 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))
-- 
2.40.0