# HG changeset patch
# User unc0rr
# Date 1305468973 -14400
# Node ID a5329e52a71b6f94ed9571f4daba3ac7007abd21
# Parent  f7a610e2ef5f94d9a93585c3a172dc950e910079
Pass correct arguments on restart

diff -r f7a610e2ef5f -r a5329e52a71b gameServer/Actions.hs
--- a/gameServer/Actions.hs	Sun May 15 18:10:01 2011 +0400
+++ b/gameServer/Actions.hs	Sun May 15 18:16:13 2011 +0400
@@ -475,11 +475,12 @@
 
 processAction RestartServer = do
     sock <- gets (fromJust . serverSocket . serverInfo)
+    args <- gets (runArgs . serverInfo)
     io $ do
         noticeM "Core" "Closing listening socket"
         sClose sock
         noticeM "Core" "Spawning new server"
-        _ <- createProcess (proc "./hedgewars-server" [])
+        _ <- createProcess (proc "./hedgewars-server" args)
         return ()
     processAction $ ModifyServerInfo (\s -> s{shutdownPending=True})
 
diff -r f7a610e2ef5f -r a5329e52a71b gameServer/CoreTypes.hs
--- a/gameServer/CoreTypes.hs	Sun May 15 18:10:01 2011 +0400
+++ b/gameServer/CoreTypes.hs	Sun May 15 18:16:13 2011 +0400
@@ -129,6 +129,7 @@
         dbPassword :: B.ByteString,
         bans :: [BanInfo],
         shutdownPending :: Bool,
+        runArgs :: [String],
         coreChan :: Chan CoreMessage,
         dbQueries :: Chan DBQuery,
         serverSocket :: Maybe Socket,
@@ -152,6 +153,7 @@
         ""
         []
         False
+        []
 
 data AccountInfo =
     HasAccount B.ByteString Bool
diff -r f7a610e2ef5f -r a5329e52a71b gameServer/Opts.hs
--- a/gameServer/Opts.hs	Sun May 15 18:10:01 2011 +0400
+++ b/gameServer/Opts.hs	Sun May 15 18:16:13 2011 +0400
@@ -34,6 +34,6 @@
 getOpts opts = do
     args <- getArgs
     case getOpt Permute options args of
-        (o, [], []) -> return $ foldr ($) opts o
+        (o, [], []) -> return $ foldr ($) opts{runArgs = args} o
         (_,_,errs) -> ioError (userError (concat errs ++ usageInfo header options))
     where header = "Usage: hedgewars-server [OPTION...]"