From 4802cbe73b387e3ce210d57e5c65aab15ac21acf Mon Sep 17 00:00:00 2001 From: cockroachking <105306113+cockroachking@users.noreply.github.com> Date: Sat, 13 Jun 2026 22:45:26 -0400 Subject: [PATCH] Update Waypoint.cpp --- siteupdate/cplusplus/classes/Waypoint/Waypoint.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/siteupdate/cplusplus/classes/Waypoint/Waypoint.cpp b/siteupdate/cplusplus/classes/Waypoint/Waypoint.cpp index b5adcaf..2361ef2 100644 --- a/siteupdate/cplusplus/classes/Waypoint/Waypoint.cpp +++ b/siteupdate/cplusplus/classes/Waypoint/Waypoint.cpp @@ -529,9 +529,10 @@ void Waypoint::underscore_datachecks(const char *slash) if (strchr(underscore+1, '_')) Datacheck::add(route, label, "", "", "LABEL_UNDERSCORES", ""); // look for too many characters after underscore in label - if (label.data()+label.size() > underscore+4) - if (label.back() > 'Z' || label.back() < 'A' || label.data()+label.size() > underscore+5) - Datacheck::add(route, label, "", "", "LONG_UNDERSCORE", ""); + if ( label.data()+label.size() > underscore+4 + && (label.back() > 'Z' || label.back() < 'A' || label.data()+label.size() > underscore+5) // allow "CitA" city+letter + && (underscore[1] != 'U' || !isdigit(underscore[2])) // allow "_U100" U-turns + ) Datacheck::add(route, label, "", "", "LONG_UNDERSCORE", ""); // look for labels with a slash after an underscore if (slash > underscore) Datacheck::add(route, label, "", "", "NONTERMINAL_UNDERSCORE", "");