X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Tools%2FNetTest_Runner%2Fstack.c;h=7d5e2613fd7c0a3a36755951e4dc36ceb54b1a26;hb=7efc14b23fca7b88126f27d34e99d7e8046e817a;hp=c359d8487dfc9a7e9955184207fc87b8535d474b;hpb=50a98c40481c6d1df267f4631228e9a4d107fe74;p=tpg%2Facess2.git diff --git a/Tools/NetTest_Runner/stack.c b/Tools/NetTest_Runner/stack.c index c359d848..7d5e2613 100644 --- a/Tools/NetTest_Runner/stack.c +++ b/Tools/NetTest_Runner/stack.c @@ -111,6 +111,8 @@ int Stack_Start(const char *Subcommand) fprintf(stderr, "posix_spawn failed: %s", strerror(rv)); return 1; } + + posix_spawn_file_actions_destroy(&fa); return 0; } @@ -123,9 +125,18 @@ void Stack_Kill(void) } } -int Stack_SendCommand(const char *CommandString) +int Stack_SendCommand(const char *Fmt, ...) { - write(giStack_InFD, CommandString, strlen(CommandString)); + va_list args; + va_start(args, Fmt); + size_t len = vsnprintf(NULL, 0, Fmt, args); + va_end(args); + char command[len+1]; + va_start(args, Fmt); + vsnprintf(command, len+1, Fmt, args); + va_end(args); + + write(giStack_InFD, command, len); write(giStack_InFD, "\n", 1); return 0; }