/* See LICENSE file for copyright and license details. */ #include "common.h" #include int libpatch_is_devnull(int fd) { struct stat fd_st; #ifndef __linux__ struct stat null_st; #endif if (fstat(fd, &fd_st)) return -1; if (!S_ISCHR(fd_st.st_mode)) return 0; #ifdef __linux__ return fd_st.st_rdev == makedev(1, 3); #else if (stat("/dev/null", &null_st)) return -1; return fd_st.st_rdev == null_st.st_rdev; #endif }