Fix alterContainerL
authorNiklas Hambuechen <niklash@google.com>
Wed, 20 Aug 2014 15:43:59 +0000 (17:43 +0200)
committerKlaus Aehlig <aehlig@google.com>
Wed, 20 Aug 2014 15:46:21 +0000 (17:46 +0200)
The original version accidentally used `Map.update` instead of
`Map.alter`, which broke insertions (the function would only have
an effect if the key was already in the container).

Signed-off-by: Niklas Hambuechen <niklash@google.com>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

src/Ganeti/JSON.hs

index 6240edf..dd155f8 100644 (file)
@@ -338,7 +338,7 @@ alterContainerL :: (Functor f, Ord a)
                 -> GenericContainer a b
                 -> f (GenericContainer a b)
 alterContainerL key f (GenericContainer m) =
-  fmap (\v -> GenericContainer $ Map.update (const v) key m)
+  fmap (\v -> GenericContainer $ Map.alter (const v) key m)
        (f $ Map.lookup key m)
 
 -- | Container loader.