From a60da8e7ab76a890566ce8047b92a7576a027e18 Mon Sep 17 00:00:00 2001
From: Matthew Holt <mholt@users.noreply.github.com>
Date: Fri, 28 Feb 2020 13:49:51 -0700
Subject: [PATCH] Simplify the logic in the previous commit

---
 caddyconfig/httpcaddyfile/directives.go | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/caddyconfig/httpcaddyfile/directives.go b/caddyconfig/httpcaddyfile/directives.go
index c6bd24b43..095e4b9cb 100644
--- a/caddyconfig/httpcaddyfile/directives.go
+++ b/caddyconfig/httpcaddyfile/directives.go
@@ -298,18 +298,16 @@ func sortRoutes(routes []ConfigValue) {
 				jPM = pathMatcher
 			}
 
-			// if there is only one path in the matcher, sort by
-			// longer path (more specific) first; if one of the
-			// routes doesn't have a matcher, then it's treated
-			// like a zero-length path matcher
-			switch {
-			case iPM == nil && jPM != nil:
-				return false
-			case iPM != nil && jPM == nil:
-				return true
-			case iPM != nil && jPM != nil:
-				return len(iPM[0]) > len(jPM[0])
+			// sort by longer path (more specific) first; missing
+			// path matchers are treated as zero-length paths
+			var iPathLen, jPathLen int
+			if iPM != nil {
+				iPathLen = len(iPM[0])
 			}
+			if jPM != nil {
+				jPathLen = len(jPM[0])
+			}
+			return iPathLen > jPathLen
 		}
 
 		return dirPositions[iDir] < dirPositions[jDir]