]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
login: use ul_copy_file
authorEgor Chelak <egor.chelak@gmail.com>
Fri, 6 Nov 2020 10:37:24 +0000 (12:37 +0200)
committerEgor Chelak <egor.chelak@gmail.com>
Mon, 9 Nov 2020 05:19:15 +0000 (07:19 +0200)
Suggested-by: Karel Zak <kzak@redhat.com>
Reviewed-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Egor Chelak <egor.chelak@gmail.com>
login-utils/login.c

index 37a52f6612f89208e83031718d70ee66669c0fab..b28bed2270c476da4134c89c70b971cad80fb5d0 100644 (file)
@@ -61,7 +61,6 @@
 #elif defined(HAVE_SECURITY_OPENPAM_H)
 # include <security/openpam.h>
 #endif
-#include <sys/sendfile.h>
 
 #ifdef HAVE_LIBAUDIT
 # include <libaudit.h>
@@ -345,9 +344,7 @@ static int motddir(const char *dirname)
 
                fd = openat(dd, d->d_name, O_RDONLY|O_CLOEXEC);
                if (fd >= 0) {
-                       struct stat st;
-                       if (fstat(fd, &st) == 0 && st.st_size > 0)
-                               sendfile(fileno(stdout), fd, NULL, st.st_size);
+                       ul_copy_file(fd, fileno(stdout));
                        close(fd);
                        done++;
                }
@@ -396,7 +393,7 @@ static void motd(void)
                if (S_ISREG(st.st_mode) && st.st_size > 0) {
                        int fd = open(file, O_RDONLY, 0);
                        if (fd >= 0) {
-                               sendfile(fileno(stdout), fd, NULL, st.st_size);
+                               ul_copy_file(fd, fileno(stdout));
                                close(fd);
                        }
                        done++;