* Send a "options" message. */
| 305 | * Send a "options" message. |
| 306 | */ |
| 307 | unsigned e9tool::sendOptionsMessage(FILE *out, std::vector<const char *> &argv) |
| 308 | { |
| 309 | sendMessageHeader(out, "options"); |
| 310 | sendParamHeader(out, "argv"); |
| 311 | fputc('[', out); |
| 312 | bool prev = false; |
| 313 | for (const char *arg: argv) |
| 314 | { |
| 315 | if (prev) |
| 316 | fputc(',', out); |
| 317 | prev = true; |
| 318 | sendString(out, arg); |
| 319 | } |
| 320 | fputc(']', out); |
| 321 | sendSeparator(out, /*last=*/true); |
| 322 | return sendMessageFooter(out, /*sync=*/true); |
| 323 | } |
| 324 | |
| 325 | /* |
| 326 | * Send an "instruction" message. |