ip_port_pair :: Parser (ScurryAddress,ScurryPort)
ip_port_pair = do
    ip <- ip_str
    char ':'
    port <- many1 digit

    let ip'   = inet_addr ip
        port' = (read port :: Integer)

    if port' > 65535 || port' < 0
       then parserFail "Not a valid port."
       else case ip' of
                 (Just ip'') -> return (ip'',ScurryPort $ fromIntegral port')
                 Nothing     -> parserFail "Not an ip address."
ip_port_pair :: Parser (ScurryAddress,ScurryPort)
ip_port_pair = do
    ip <- ip_str
    char ':'
    port <- many1 digit

    let ip'   = inet_addr ip
        port' = (read port :: Integer)

    if port' > 65535 || port' < 0
       then parserFail "Not a valid port."
       else case ip' of
                 (Just ip'') -> return (ip'',ScurryPort $ fromIntegral port')
                 Nothing     -> parserFail "Not an ip address."
ip_port_pair = do
    ip <- ip_str
    char ':'
    port <- many1 digit

    let ip'   = inet_addr ip
        port' = (read port :: Integer)

    if port' > 65535 || port' < 0
       then parserFail "Not a valid port."
       else case ip' of
                 (Just ip'') -> return (ip'',ScurryPort $ fromIntegral port')
                 Nothing     -> parserFail "Not an ip address."