packages feed

hp2any-graph 0.5.0 → 0.5.1

raw patch · 3 files changed

+24/−22 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGES view
@@ -1,3 +1,7 @@+0.5.1 - 090812+* adjusted path handling code to be more robust (so it works on+  Windows too)+ 0.5.0 - 090811 * made GraphData abstract (the users don't need its internals) * switched to GLUT
hp2any-graph.cabal view
@@ -1,5 +1,5 @@ Name:          hp2any-graph-Version:       0.5.0+Version:       0.5.1 Cabal-Version: >= 1.2 Synopsis:      Real-time heap graphing utility and profile stream server with a reusable graphing module. Category:      profiling, development, utils@@ -14,6 +14,7 @@ Author:        Patai Gergely Maintainer:    Patai Gergely (patai@iit.bme.hu) Copyright:     (c) 2009, Patai Gergely+Homepage:      http://www.haskell.org/haskellwiki/Hp2any License:       BSD3 License-File:  LICENSE Stability:     experimental
src/HandleArgs.hs view
@@ -14,9 +14,17 @@              | Port                deriving (Eq, Ord, Show) -graphArgs = do-  let fixName n = if head n `notElem` "/." then "./"++n else n+commonArgs args = do+  let canonMaybe a = case getArgString args a of+                       Just p  -> Just <$> canonicalizePath p+                       Nothing -> return Nothing +  exec <- canonMaybe Exec+  dir <- canonMaybe Cwd++  return (exec,dir,argsRest args)++graphArgs = do   args <- parseArgsIO ArgsTrailing           [ Arg Exec (Just 'e') (Just "exec")             (argDataOptional "executable" ArgtypeString)@@ -29,22 +37,18 @@             "Server to connect to."           ]   -  let exec = fixName <$> getArgString args Exec-      port = getArgString args Port-      params = unwords $ argsRest args+  let port = getArgString args Port+  (exec,dir,params) <- commonArgs args    when (exec == Nothing && port == Nothing) $ do     putStrLn $ argsUsage args     putStrLn $ unlines-                 ["You need to supply either a server to connect to or an executable"-                 ,"with optional working directory and parameters."+                 [ "You need to supply either a server to connect to or an executable"+                 , "with optional working directory and parameters."                  ]     exitFailure -  dir <- case getArgString args Cwd of-           Just p -> Just <$> canonicalizePath p-           Nothing -> return Nothing-+  -- Remote mode overrides local mode.   let retval = case port of                  Just p -> Left p                  Nothing -> Right (fromJust exec,dir,params)@@ -52,8 +56,6 @@   return retval  relayArgs = do-  let fixName n = if head n `notElem` "/." then "./"++n else n-   args <- parseArgsIO ArgsTrailing           [ Arg Exec (Just 'e') (Just "exec")             (argDataRequired "executable" ArgtypeString)@@ -66,12 +68,7 @@             "Number of server port to listen on."           ]   -  let Just exec = fixName <$> getArgString args Exec-      Just port = getArgString args Port-      params = unwords $ argsRest args--  dir <- case getArgString args Cwd of-           Just p -> Just <$> canonicalizePath p-           Nothing -> return Nothing+  let Just port = getArgString args Port+  (exec,dir,params) <- commonArgs args -  return (read port :: Int,exec,dir,params)+  return (read port :: Int,fromJust exec,dir,params)