summaryrefslogtreecommitdiff
path: root/Pancake.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Pancake.hs')
-rw-r--r--Pancake.hs15
1 files changed, 8 insertions, 7 deletions
diff --git a/Pancake.hs b/Pancake.hs
index 770b862..b479b49 100644
--- a/Pancake.hs
+++ b/Pancake.hs
@@ -41,8 +41,7 @@ import Text.Pandoc.Readers.Gopher
import Control.Applicative
import qualified System.IO as SIO
import Data.Char
-import qualified Data.Text as T
-import Data.Text.Encoding (decodeUtf8')
+import Data.Text.Encoding (decodeUtf8', decodeLatin1)
import System.IO.Error
@@ -132,11 +131,13 @@ readDoc cmd uri = do
(_, ext) -> byExtension ext
cols = maybe 80 id $ getCapability term termColumns
opts = def { P.readerColumns = cols }
- P.runIO $ case reader of
- (P.TextReader f, _) -> f opts $ case decodeUtf8' out of
- Left _ -> T.empty
- Right r -> r
- (P.ByteStringReader f, _) -> f opts $ BL.fromStrict out
+ case reader of
+ (P.TextReader f, _) -> case decodeUtf8' out of
+ Left err -> do
+ putErrLn $ show err
+ P.runIO $ f opts $ decodeLatin1 out
+ Right r -> P.runIO $ f opts r
+ (P.ByteStringReader f, _) -> P.runIO $ f opts $ BL.fromStrict out
where
http ext = byExtension ext <|> html
html = P.getReader "html"