summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Text/Coding.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/GF/Text/Coding.hs')
-rw-r--r--src/compiler/GF/Text/Coding.hs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/compiler/GF/Text/Coding.hs b/src/compiler/GF/Text/Coding.hs
index a206bb4d2..e347730e0 100644
--- a/src/compiler/GF/Text/Coding.hs
+++ b/src/compiler/GF/Text/Coding.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
module GF.Text.Coding where
import qualified Data.ByteString as BS
@@ -23,7 +25,11 @@ encodeUnicode enc s =
where
translate cod cbuf
| i < w = do bbuf <- newByteBuffer 128 WriteBuffer
+#if __GLASGOW_HASKELL__ >= 702
+ (_,cbuf,bbuf) <- cod cbuf bbuf
+#else
(cbuf,bbuf) <- cod cbuf bbuf
+#endif
if isEmptyBuffer bbuf
then ioe_invalidCharacter
else do let bs = PS (bufRaw bbuf) (bufL bbuf) (bufR bbuf-bufL bbuf)
@@ -46,7 +52,12 @@ decodeUnicode enc (PS fptr l len) =
return s
where
translate cod bbuf cbuf
- | i < w = do (bbuf,cbuf) <- cod bbuf cbuf
+ | i < w = do
+#if __GLASGOW_HASKELL__ >= 702
+ (_,bbuf,cbuf) <- cod bbuf cbuf
+#else
+ (bbuf,cbuf) <- cod bbuf cbuf
+#endif
if isEmptyBuffer cbuf
then ioe_invalidCharacter
else unpack cod bbuf cbuf