]> gitweb.michael.orlitzky.com - dead/halcyon.git/blobdiff - src/Configuration.hs
Fix username merging.
[dead/halcyon.git] / src / Configuration.hs
index 39dd4e6f4cc46a58cd63be81471bbf2a80cfcbc0..f73bc615a7d81adbd8c2c2eca0aea3afc92ab5f9 100644 (file)
@@ -57,7 +57,7 @@ merge_optional cfg opt_cfg =
     (merge' (from_address cfg) (OC.from_address opt_cfg))
     (merge' (to_address cfg) (OC.to_address opt_cfg))
     (merge (verbose cfg) (OC.verbose opt_cfg))
-    ((usernames cfg) ++ (OC.usernames opt_cfg))
+    all_usernames
   where
     merge :: a -> Maybe a -> a
     merge x Nothing  = x
@@ -69,3 +69,8 @@ merge_optional cfg opt_cfg =
     merge' (Just x) Nothing  = Just x
     merge' Nothing (Just x)  = Just x
     merge' (Just _) (Just y) = Just y
+
+    -- If there are any optional usernames, use only those.
+    all_usernames = if (null (OC.usernames opt_cfg))
+                      then (usernames cfg)
+                      else (OC.usernames opt_cfg)