From 2c234fe492b4d1809d34aefa51a5e046833a7627 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sun, 29 Apr 2012 06:57:49 -0400 Subject: [PATCH] Sort dispatch table by decreasing prefix length --- ui_main.ml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ui_main.ml b/ui_main.ml index f1ef8a1..bd9b693 100644 --- a/ui_main.ml +++ b/ui_main.ml @@ -19,8 +19,11 @@ open Html let dispatch_table = ref [] +let longest_prefix_first (p1, _) (p2, _) = + String.length p2 - String.length p1 + let register_dispatcher (prefix, handler) = - dispatch_table := (prefix, handler) :: !dispatch_table + dispatch_table := List.sort longest_prefix_first ((prefix, handler) :: !dispatch_table) let handle_dynamic_req r = let rec search_table table =