From c225aa9e0152fa54bb7b5011615c70a309655dd0 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 16 Jul 2017 15:27:37 -0700
Subject: [PROPOSED 2/2] Check the 14-character name length limit

* Makefile (check_name_lengths): New rule.
(check): Add it.
---
 Makefile | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 347ece7..6be254b 100644
--- a/Makefile
+++ b/Makefile
@@ -618,7 +618,8 @@ tzselect:	tzselect.ksh version
 		chmod +x $@.out
 		mv $@.out $@
 
-check:		check_character_set check_white_space check_links check_sorted \
+check:		check_character_set check_white_space check_links \
+		  check_name_lengths check_sorted \
 		  check_tables check_web check_zishrink check_tzs
 
 check_character_set: $(ENCHILADA)
@@ -641,6 +642,13 @@ check_white_space: $(ENCHILADA)
 		! grep -En "$$pat" $(ENCHILADA)
 		! grep -n '[[:space:]]$$' $(ENCHILADA)
 
+PRECEDES_FILE_NAME = ^(Zone|Link[[:space:]]+[^[:space:]]+)[[:space:]]+
+FILE_NAME_COMPONENT_TOO_LONG = \
+  $(PRECEDES_FILE_NAME)[^[:space:]]*[^/[:space:]]{15}
+
+check_name_lengths: $(TDATA) backzone
+		! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' $(TDATA) backzone
+
 CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; }
 
 check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab
-- 
2.7.4

