fix session data transmission in new single instance code

This commit is contained in:
Kovid Goyal 2024-06-24 07:38:20 +05:30
parent 4997f5f520
commit 8c000088ab
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C

View file

@ -154,7 +154,8 @@ read_till_eof(FILE *f, membuf *m) {
m->used += fread(m->data, 1, m->capacity - m->used, f);
if (ferror(f)) { fclose(f); fail_on_errno("Failed to read from session file"); }
}
write_to_membuf(m, "\0", 1);
// ensure NULL termination
write_to_membuf(m, "\0", 1); m->used--;
fclose(f);
}
@ -196,7 +197,7 @@ talk_to_instance(int s, struct sockaddr_un *server_addr, int argc, char *argv[],
if (opts->session && opts->session[0]) {
if (strcmp(opts->session, "none") == 0) {
session_data.data = "none"; session_data.used = 4;
} else if (strcmp(opts->session, "-")) {
} else if (strcmp(opts->session, "-") == 0) {
read_till_eof(stdin, &session_data);
} else {
FILE *f = safe_fopen(opts->session, "r");