8ea5f3ff99
Eliminated some dead code. In other cases, exported a currently unused function, since it was a logical part of the API. Of course this improves the API documentation. It may also sometimes let ghc optimize code better, since it can know a function is internal to a module. 364 modules still to go, according to git grep -E 'module [A-Za-z.]+ where'
24 lines
555 B
Haskell
24 lines
555 B
Haskell
{- network functions
|
|
-
|
|
- Copyright 2012 Joey Hess <id@joeyh.name>
|
|
-
|
|
- License: BSD-2-clause
|
|
-}
|
|
|
|
{-# OPTIONS_GHC -fno-warn-tabs #-}
|
|
|
|
module Utility.Network (getHostname) where
|
|
|
|
import Utility.Process
|
|
import Utility.Exception
|
|
|
|
import Control.Applicative
|
|
import Prelude
|
|
|
|
{- Haskell lacks uname(2) bindings, except in the
|
|
- Bindings.Uname addon. Rather than depend on that,
|
|
- use uname -n when available. -}
|
|
getHostname :: IO (Maybe String)
|
|
getHostname = catchMaybeIO uname_node
|
|
where
|
|
uname_node = takeWhile (/= '\n') <$> readProcess "uname" ["-n"]
|