on master help sign in
Fix size computations on children/attributes
commit2081dc12ad58de11bb5dc9e7a1269b143a4d819e authorNeil Mitchell <ndmitchell@gmail.com> dateWed 30 Nov 2016, 16:45 (10 years ago) parenta545579
1 file changed+2−4
src/Text/XML/Hexml.hs+2−4
src/Text/XML/Hexml.hs+2−4
@@ -130,16 +130,14 @@ nodeChildren (Node src doc n) = unsafePerformIO $ withForeignPtr doc $ \d -> do
130130 alloca $ \count -> do
131131 res <- node_children d n count
132132 count <- fromIntegral <$> peek count
133− let sz = 2 * szNode
134− return [Node src doc $ plusPtr res $ i*sz | i <- [0..count-1]]
133+ return [Node src doc $ plusPtr res $ i*szNode | i <- [0..count-1]]
135134
136135nodeAttributes :: Node -> [Attribute]
137136nodeAttributes (Node src doc n) = unsafePerformIO $ withForeignPtr doc $ \d -> do
138137 alloca $ \count -> do
139138 res <- node_attributes d n count
140139 count <- fromIntegral <$> peek count
141− let sz = 2 * szAttr
142− return [attrPeek src doc (plusPtr res $ i*sz) | i <- [0..count-1]]
140+ return [attrPeek src doc $ plusPtr res $ i*szAttr | i <- [0..count-1]]
143141
144142nodeChildrenBy :: Node -> BS.ByteString -> [Node]
145143nodeChildrenBy = node_firstChildBy `seq` node_nextChildBy `seq` undefined