summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Annex/Link.hs7
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.
-