diff --git a/login-utils/Makemodule.am b/login-utils/Makemodule.am index 939cc7708..4f52cea3c 100644 --- a/login-utils/Makemodule.am +++ b/login-utils/Makemodule.am @@ -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 diff --git a/login-utils/nologin.c b/login-utils/nologin.c index f38a3aab0..ecbd0d2fe 100644 --- a/login-utils/nologin.c +++ b/login-utils/nologin.c @@ -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; }