From 196abe367c46cf3c2337b4b1da8bb2c084065c7d Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 25 Dec 2015 22:06:56 +0100 Subject: satr run select jobs + satrm can remove multiple jobs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/satr.c | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) (limited to 'src/satr.c') diff --git a/src/satr.c b/src/satr.c index df85ee2..b3ebd62 100644 --- a/src/satr.c +++ b/src/satr.c @@ -40,7 +40,7 @@ char *argv0 = "satr"; static void usage(void) { - fprintf(stderr, "usage: %s\n", + fprintf(stderr, "usage: %s [JOB-ID]...\n", strrchr(argv0) ? (strrchr(argv0) + 1) : argv0); exit(2); } @@ -59,11 +59,35 @@ usage(void) int main(int argc, char *argv[]) { + size_t n = 0; + char *msg = NULL; + int i; + if (argc > 0) argv0 = argv[0]; - if (argc > 1) usage(); /* TODO possibility to select job */ + if (argc < 2) + goto run; + if (!strcmp(argv[1], "--") + argv++, argc--; + for (i = 1; i < argc; i++) + if (argv[i][0] == '-') + usage(); + + if (!(msg = malloc(n = measure_array(argv + 1)))) + goto fail; + store_array(msg, argv + 1); - if (send_command(SAT_RUN, 0, NULL)) - return errno ? (perror(argv0), 1) : 3; +run: + if (send_command(SAT_RUN, n, msg)) { + if (errno) + goto fail; + free(msg); + return 3; + } return 0; + +fail: + perror(*argv); + free(msg); + return 1; } -- cgit v1.2.3-70-g09d2