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

index 939cc7708dcf16ff3b58ee8c546cd9691c110d93..4f52cea3c3a8eeaf65ca22b382ec1239d5a016fa 100644 (file)
@@ -76,6 +76,7 @@ if BUILD_NOLOGIN
 sbin_PROGRAMS += nologin
 dist_man_MANS += login-utils/nologin.8
 nologin_SOURCES = login-utils/nologin.c
+nologin_LDADD = $(LDADD) libcommon.la
 endif
 
 
index f38a3aab022d4774378e07e33a3f9ba69dc9ab9a..ecbd0d2fec08708e0343f9db74aa596694f3c6c9 100644 (file)
@@ -14,6 +14,7 @@
 #include "c.h"
 #include "nls.h"
 #include "pathnames.h"
+#include "fileutils.h"
 
 /*
  * Always return EXIT_FAILURE (1), don't try to be smart!
@@ -97,12 +98,7 @@ int main(int argc, char *argv[])
        if (c < 0 || !S_ISREG(st.st_mode))
                goto dflt;
        else {
-               char buf[BUFSIZ];
-               ssize_t rd;
-
-               while ((rd = read(fd, buf, sizeof(buf))) > 0)
-                       ignore_result( write(STDOUT_FILENO, buf, rd) );
-
+               ul_copy_file(fd, STDOUT_FILENO);
                close(fd);
                return EXIT_FAILURE;
        }