aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2017-02-08 17:17:59 +0100
committerCamil Staps2017-02-08 17:17:59 +0100
commitdde4f8bad104b44db97eab26d0be864d7cefe000 (patch)
treef561edc41399412cdc194241db0aa3d8aa833946
parentImproved installation (diff)
Propagate clm return code
-rw-r--r--CLPM/Util.dcl2
-rw-r--r--CLPM/Util.icl2
-rw-r--r--clpm.icl2
3 files changed, 3 insertions, 3 deletions
diff --git a/CLPM/Util.dcl b/CLPM/Util.dcl
index 76583f0..abad232 100644
--- a/CLPM/Util.dcl
+++ b/CLPM/Util.dcl
@@ -14,5 +14,5 @@ parse :: (String -> MaybeErrorString a) | Parse a
doRequest :: HTTPRequest *World -> *(MaybeErrorString HTTPResponse, *World)
-syscall :: !String !*World -> !*(!Int, !*World)
+syscall :: !String !*World -> *(!Int, !*World)
recursivelyRemove :: !FilePath !*World -> *(MaybeErrorString (), !*World)
diff --git a/CLPM/Util.icl b/CLPM/Util.icl
index 282c580..cea514c 100644
--- a/CLPM/Util.icl
+++ b/CLPM/Util.icl
@@ -80,7 +80,7 @@ where
= (Error $ server_name + " hung up during transmission.", chan, w)
= receiveRest {resp & rsp_data=resp.rsp_data + toString (fromJust newresp)} chan w
-syscall :: !String !*World -> !*(!Int, !*World)
+syscall :: !String !*World -> *(!Int, !*World)
syscall cmd w = code {
ccall system "s:I:A"
}
diff --git a/clpm.icl b/clpm.icl
index a18c2cc..b434edd 100644
--- a/clpm.icl
+++ b/clpm.icl
@@ -114,7 +114,7 @@ cmd_make opts pkg io w
" " + fromJust pkg.main + " -o " + fromJust pkg.main
#! io = io <<< cmd <<< "\r\n"
#! (r,w) = syscall cmd w
-= (io,w)
+= (io,setReturnCode (if (r==0) 0 -1) w)
parseArgs :: (Arguments [String] -> ([String], Arguments))
parseArgs = pa []