]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
util: minor modernization of vt_disallocate()
authorLennart Poettering <lennart@poettering.net>
Thu, 8 Oct 2015 12:36:47 +0000 (14:36 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 8 Oct 2015 13:03:31 +0000 (15:03 +0200)
src/basic/terminal-util.c

index 1bda9564fbcf3bc2317a868da0d8ee70f584311f..ca7554a9fad7d2acb0954ca5eba5e114079454ab 100644 (file)
@@ -535,8 +535,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
@@ -558,8 +559,6 @@ int vt_disallocate(const char *name) {
                            "\033[H"    /* move home */
                            "\033[2J",  /* clear screen */
                            10, false);
-                safe_close(fd);
-
                 return 0;
         }
 
@@ -579,7 +578,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;
@@ -598,8 +597,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;
 }