diff options
author | onefang | 2021-07-24 00:56:53 +1000 |
---|---|---|
committer | onefang | 2021-07-24 00:56:53 +1000 |
commit | a8ff61a0ff7ea3054124a2d2b5460cc6f9537b72 (patch) | |
tree | be6273bbce45bdd9bdc119ed8c24f717e898f6ad | |
parent | Don't actually print debug stuff if debug is turned off. (diff) | |
download | opensim-SC-a8ff61a0ff7ea3054124a2d2b5460cc6f9537b72.zip opensim-SC-a8ff61a0ff7ea3054124a2d2b5460cc6f9537b72.tar.gz opensim-SC-a8ff61a0ff7ea3054124a2d2b5460cc6f9537b72.tar.bz2 opensim-SC-a8ff61a0ff7ea3054124a2d2b5460cc6f9537b72.tar.xz |
Rejig how the tmux interfaces work.
-rw-r--r-- | src/sledjchisl/sledjchisl.c | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/src/sledjchisl/sledjchisl.c b/src/sledjchisl/sledjchisl.c index 6224e70..2000f57 100644 --- a/src/sledjchisl/sledjchisl.c +++ b/src/sledjchisl/sledjchisl.c | |||
@@ -620,28 +620,38 @@ void PrintTable(lua_State *L) | |||
620 | } | 620 | } |
621 | 621 | ||
622 | 622 | ||
623 | int sendTmuxKeys(char *dest, char *keys) | 623 | void doTmuxCmd(char *format, ...) |
624 | { | 624 | { |
625 | int ret = 0, i; | 625 | va_list va, va2; |
626 | char *c = xmprintf("%s %s/%s send-keys -t %s:%s '%s'", Tcmd, scRun, Tsocket, Tconsole, dest, keys); | 626 | int len; |
627 | char *ret; | ||
628 | |||
629 | va_start(va, format); | ||
630 | va_copy(va2, va); | ||
631 | // How long is it? | ||
632 | len = vsnprintf(0, 0, format, va); | ||
633 | len++; | ||
634 | va_end(va); | ||
635 | // Allocate and do the sprintf() | ||
636 | ret = xmalloc(len); | ||
637 | vsnprintf(ret, len, format, va2); | ||
638 | va_end(va2); | ||
627 | 639 | ||
628 | i = system(c); | 640 | char *c = xmprintf("%s %s/%s %s", Tcmd, scRun, Tsocket, ret); |
629 | if (!WIFEXITED(i)) | 641 | free(ret); |
630 | E("tmux send-keys command failed!"); | 642 | if (!WIFEXITED(system(c))) |
643 | E("tmux command failed! %s", c); | ||
631 | free(c); | 644 | free(c); |
632 | return ret; | ||
633 | } | 645 | } |
634 | 646 | ||
635 | int sendTmuxCmd(char *dest, char *cmd) | 647 | void sendTmuxCmd(char *dest, char *cmd) |
636 | { | 648 | { |
637 | int ret = 0, i; | 649 | doTmuxCmd("send-keys -t %s:'%s' '%s' Enter", Tconsole, dest, cmd); |
638 | char *c = xmprintf("%s %s/%s send-keys -t %s:'%s' '%s' Enter", Tcmd, scRun, Tsocket, Tconsole, dest, cmd); | 650 | } |
639 | 651 | ||
640 | i = system(c); | 652 | void sendTmuxKeys(char *dest, char *keys) |
641 | if (!WIFEXITED(i)) | 653 | { |
642 | E("tmux send-keys command failed!"); | 654 | doTmuxCmd("send-keys -t %s:%s '%s'", Tconsole, dest, keys); |
643 | free(c); | ||
644 | return ret; | ||
645 | } | 655 | } |
646 | 656 | ||
647 | void waitTmuxText(char *dest, char *text) | 657 | void waitTmuxText(char *dest, char *text) |
@@ -7534,10 +7544,7 @@ T("ARGS - %i |%s| |%s|", currentMode, toys.optargs[0], target); | |||
7534 | c = xmprintf("mono Robust.exe -inidirectory=%s/config/ROBUST", scRoot); | 7544 | c = xmprintf("mono Robust.exe -inidirectory=%s/config/ROBUST", scRoot); |
7535 | sendTmuxCmd(d, c); | 7545 | sendTmuxCmd(d, c); |
7536 | free(c); | 7546 | free(c); |
7537 | c = xmprintf("%s %s/%s select-pane -t 1 -T 'ROBUST'", Tcmd, scRun, Tsocket); | 7547 | doTmuxCmd("select-pane -t 0 -T 'ROBUST'", Tcmd, scRun, Tsocket); |
7538 | i = system(c); | ||
7539 | if (!WIFEXITED(i)) | ||
7540 | E("tmux select-pane command failed!"); | ||
7541 | waitTmuxText(d, "INITIALIZATION COMPLETE FOR ROBUST"); | 7548 | waitTmuxText(d, "INITIALIZATION COMPLETE FOR ROBUST"); |
7542 | I("ROBUST is done starting up."); | 7549 | I("ROBUST is done starting up."); |
7543 | // la = waitLoadAverage(la, loadAverageInc / 3.0, simTimeOut / 3); | 7550 | // la = waitLoadAverage(la, loadAverageInc / 3.0, simTimeOut / 3); |