From 88a121f81ef03d3993ec0d9992a3ea49ad2df05b Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 26 Jan 2016 17:00:49 -0800 Subject: [PATCH] GUAC-1452: Write required header/footer. --- src/terminal/typescript.c | 8 ++++++++ src/terminal/typescript.h | 12 ++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/terminal/typescript.c b/src/terminal/typescript.c index ce4566dc..4fff71ee 100644 --- a/src/terminal/typescript.c +++ b/src/terminal/typescript.c @@ -64,6 +64,10 @@ guac_terminal_typescript* guac_terminal_typescript_alloc(const char* path, typescript->timing_fd = timing_fd; typescript->length = 0; + /* Write header */ + guac_common_write(data_fd, GUAC_TERMINAL_TYPESCRIPT_HEADER, + sizeof(GUAC_TERMINAL_TYPESCRIPT_HEADER) - 1); + return typescript; } @@ -100,6 +104,10 @@ void guac_terminal_typescript_free(guac_terminal_typescript* typescript) { /* Flush any pending data */ guac_terminal_typescript_flush(typescript); + /* Write footer */ + guac_common_write(typescript->data_fd, GUAC_TERMINAL_TYPESCRIPT_FOOTER, + sizeof(GUAC_TERMINAL_TYPESCRIPT_FOOTER) - 1); + /* Close file descriptors */ close(typescript->data_fd); close(typescript->timing_fd); diff --git a/src/terminal/typescript.h b/src/terminal/typescript.h index aaa56e38..c62e6354 100644 --- a/src/terminal/typescript.h +++ b/src/terminal/typescript.h @@ -26,6 +26,18 @@ #include "config.h" +/** + * A NULL-terminated string of raw bytes which should be written at the + * beginning of any typescript. + */ +#define GUAC_TERMINAL_TYPESCRIPT_HEADER "[BEGIN TYPESCRIPT]\n" + +/** + * A NULL-terminated string of raw bytes which should be written at the + * end of any typescript. + */ +#define GUAC_TERMINAL_TYPESCRIPT_FOOTER "\n[END TYPESCRIPT]\n" + /** * An active typescript, consisting of a data file (raw terminal output) and * timing file (related timestamps and byte counts).