on master help sign in
Removed unnecesary tag allocations
4a7cc88Michael Snoyman
Data/Object/Yaml.hs−4
@@ -39,7 +39,6 @@ import Control.Monad ((<=<), join)
39import System.IO.Unsafe
39import System.IO.Unsafe
40
40
41#if TEST
41#if TEST
42−import Data.Object
43import Test.Framework (testGroup, Test)
42import Test.Framework (testGroup, Test)
44import Test.Framework.Providers.HUnit
43import Test.Framework.Providers.HUnit
45import Test.Framework.Providers.QuickCheck (testProperty)
44import Test.Framework.Providers.QuickCheck (testProperty)
@@ -47,10 +46,7 @@ import Test.HUnit hiding (Test, path)
47import Test.QuickCheck
46import Test.QuickCheck
48
47
49import Control.Monad (replicateM)
48import Control.Monad (replicateM)
50−import qualified Data.Text.Lazy as LT
51import qualified Data.ByteString.Lazy as BL
49import qualified Data.ByteString.Lazy as BL
52−import qualified Data.ByteString as B
53−import Data.Attempt
54import Control.Arrow ((***))
50import Control.Arrow ((***))
55#endif
51#endif
56
52
Data/Object/Yaml/Lib.hs+5−1
@@ -15,6 +15,7 @@ module Data.Object.Yaml.Lib
15 ) where
15 ) where
16
16
17import qualified Data.ByteString.Internal as B
17import qualified Data.ByteString.Internal as B
18+import qualified Data.ByteString
18import Control.Monad
19import Control.Monad
19import Foreign.C
20import Foreign.C
20import Foreign.Ptr
21import Foreign.Ptr
@@ -163,7 +164,10 @@ getEvent er = do
163 let ylen' = fromEnum ylen
164 let ylen' = fromEnum ylen
164 let ylen'' = toEnum $ fromEnum ylen
165 let ylen'' = toEnum $ fromEnum ylen
165 bs <- B.create ylen' $ \dest -> B.memcpy dest yvalue' ylen''
166 bs <- B.create ylen' $ \dest -> B.memcpy dest yvalue' ylen''
167+ tagbs <-
168+ if ytag_len' == 0
169+ then return Data.ByteString.empty
166− tagbs <- B.create ytag_len'
170+ else B.create ytag_len'
167 $ \dest -> B.memcpy dest ytag' (toEnum ytag_len')
171 $ \dest -> B.memcpy dest ytag' (toEnum ytag_len')
168 let style = toEnum $ fromEnum ystyle
172 let style = toEnum $ fromEnum ystyle
169 return $ EventScalar bs (convertSuccess tagbs) style
173 return $ EventScalar bs (convertSuccess tagbs) style