X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbasic%2Fterminal-util.c;h=f7ef57cec3c2a116db5dd603dad6acd267bc5e08;hp=8f63695cfe0b8f18b99fc479294398966390e31a;hb=be70ef286ad74a5d9db1716d1b097ff0dbd3e713;hpb=796f8c41e16712f9faadee3aea6fd2f38baf989a diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c index 8f63695cf..f7ef57cec 100644 --- a/src/basic/terminal-util.c +++ b/src/basic/terminal-util.c @@ -545,8 +545,9 @@ int terminal_vhangup(const char *name) { } int vt_disallocate(const char *name) { - int fd, r; + _cleanup_close_ int fd = -1; unsigned u; + int r; /* Deallocate the VT if possible. If not possible * (i.e. because it is the active one), at least clear it @@ -568,8 +569,6 @@ int vt_disallocate(const char *name) { "\033[H" /* move home */ "\033[2J", /* clear screen */ 10, false); - safe_close(fd); - return 0; } @@ -589,7 +588,7 @@ int vt_disallocate(const char *name) { return fd; r = ioctl(fd, VT_DISALLOCATE, u); - safe_close(fd); + fd = safe_close(fd); if (r >= 0) return 0; @@ -608,8 +607,6 @@ int vt_disallocate(const char *name) { "\033[H" /* move home */ "\033[3J", /* clear screen including scrollback, requires Linux 2.6.40 */ 10, false); - safe_close(fd); - return 0; }