From 14144089b51a0ecb55c021a916826b3939b9dc12 Mon Sep 17 00:00:00 2001 From: Jens Nolte <git@queezle.net> Date: Thu, 16 Sep 2021 00:11:28 +0200 Subject: [PATCH] Padding --- src/Quasar/Wayland/Protocol/Core.hs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Quasar/Wayland/Protocol/Core.hs b/src/Quasar/Wayland/Protocol/Core.hs index eca993f..25ca5ca 100644 --- a/src/Quasar/Wayland/Protocol/Core.hs +++ b/src/Quasar/Wayland/Protocol/Core.hs @@ -555,13 +555,19 @@ putWaylandBlob blob = do putWord32host (fromIntegral (size + 1)) putByteString blob putWord8 0 - replicateM_ ((4 - (size `mod` 4)) `mod` 4) (putWord8 0) + replicateM_ (padding size) (putWord8 0) skipPadding :: Get () skipPadding = do bytes <- bytesRead - skip $ fromIntegral ((4 - (bytes `mod` 4)) `mod` 4) + skip $ fromIntegral (padding bytes) + +paddedSize :: Integral a => a -> a +paddedSize size = size + padding size + +padding :: Integral a => a -> a +padding size = ((4 - (size `mod` 4)) `mod` 4) sendRawMessage :: MonadCatch m => Put -> ProtocolAction s m () -- GitLab