From 7e6c2732bcec600e6496d4cb1587927ae1937cb5 Mon Sep 17 00:00:00 2001 From: "Rafael G. Martins" Date: Tue, 27 Dec 2016 23:02:48 +0100 Subject: make: provide useful info if blogc-runserver not found --- src/blogc-make/exec.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src/blogc-make') diff --git a/src/blogc-make/exec.c b/src/blogc-make/exec.c index 28dc73d..bb8a7b7 100644 --- a/src/blogc-make/exec.c +++ b/src/blogc-make/exec.c @@ -263,7 +263,7 @@ bm_exec_blogc(bm_settings_t *settings, bc_trie_t *variables, bool listing, if (rv != 0) { if (verbose) { fprintf(stderr, - "error: Failed to execute command.\n" + "blogc-make: error: Failed to execute command.\n" "\n" "STATUS CODE: %d\n", rv); if (input->len > 0) { @@ -290,8 +290,8 @@ bm_exec_blogc(bm_settings_t *settings, bc_trie_t *variables, bool listing, } else { fprintf(stderr, - "error: Failed to execute command, returned status code: %d\n", - rv); + "blogc-make: error: Failed to execute command, returned " + "status code: %d\n", rv); } } @@ -324,12 +324,21 @@ bm_exec_blogc_runserver(bm_settings_t *settings, bool verbose) fflush(stdout); // we don't need pipes to run blogc-runserver, because it is "interactive" - int rv = system(cmd); + int rv = WEXITSTATUS(system(cmd)); free(cmd); - if (rv != 0) - fprintf(stderr, - "error: Failed to execute command, returned status code: %d\n", rv); + if (rv != 0) { + if (rv == 127) { + fprintf(stderr, + "blogc-make: error: blogc-runserver command not found. Maybe " + "it is not installed?\n"); + } + else { + fprintf(stderr, + "blogc-make: error: Failed to execute command, returned " + "status code: %d\n", rv); + } + } return rv; } -- cgit v1.2.3-18-g5258