diff options
Diffstat (limited to 'Annex')
-rw-r--r-- | Annex/Link.hs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Annex/Link.hs b/Annex/Link.hs index 6cfad4975..650fc19a1 100644 --- a/Annex/Link.hs +++ b/Annex/Link.hs @@ -38,13 +38,18 @@ getAnnexLinkTarget :: FilePath -> Annex (Maybe LinkTarget) getAnnexLinkTarget file = do v <- ifM (coreSymlinks <$> Annex.getGitConfig) ( liftIO $ catchMaybeIO $ readSymbolicLink file - , liftIO $ catchMaybeIO $ take 8192 <$> readFile file + , liftIO $ catchMaybeIO $ readfilestart file ) case v of Nothing -> return Nothing Just l | isLinkToAnnex l -> return v | otherwise -> return Nothing + where + readfilestart f = do + h <- openFile f ReadMode + fileEncoding h + take 8192 <$> hGetContents h {- Creates a link on disk. - |