Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at fix-function-merge 84 lines 2.3 kB view raw
1--- cp/cp.c 2+++ cp/cp.c 3@@ -42,8 +42,6 @@ static const char sccsid[] USED = "@(#)cp.sl 1.84 (gritter) 3/4/06"; 4 5 #include <sys/types.h> 6 #include <sys/stat.h> 7-#include <sys/socket.h> 8-#include <sys/un.h> 9 #include <sys/time.h> 10 #include <sys/resource.h> 11 #include <fcntl.h> 12@@ -427,6 +425,7 @@ fdcopy(const char *src, const struct stat *ssp, const int sfd, 13 #endif 14 15 #ifdef __linux__ 16+#ifdef O_DIRECT 17 if (!bflag && !Dflag && ssp->st_size > 0) { 18 long long sent; 19 20@@ -436,6 +435,7 @@ fdcopy(const char *src, const struct stat *ssp, const int sfd, 21 if (sent < 0) 22 goto err; 23 } 24+#endif 25 #endif /* __linux__ */ 26 if (pagesize == 0) 27 if ((pagesize = 4096) < 0) 28@@ -702,37 +702,6 @@ symlinkcopy(const char *src, const struct stat *ssp, 29 } 30 } 31 32-static void 33-socketcopy(const char *src, const struct stat *ssp, 34- const char *tgt, const struct stat *dsp) 35-{ 36- int fd, addrsz; 37- struct sockaddr_un addr; 38- size_t len; 39- 40- if (do_unlink(tgt, dsp) != OKAY) 41- return; 42- len = strlen(tgt); 43- memset(&addr, 0, sizeof addr); 44- addr.sun_family = AF_UNIX; 45- addrsz = sizeof addr - sizeof addr.sun_path + len; 46- if ((len >= sizeof addr.sun_path ? errno = ENAMETOOLONG, fd = -1, 1 : 47- (strncpy(addr.sun_path,tgt,sizeof addr.sun_path), 0)) || 48- (fd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0 || 49- bind(fd, (struct sockaddr *)&addr, addrsz) < 0) { 50- fprintf(stderr, "%s: cannot create socket %s\n%s: %s\n", 51- progname, tgt, 52- progname, strerror(errno)); 53- if (fd >= 0) 54- close(fd); 55- errcnt |= 01; 56- return; 57- } 58- close(fd); 59- if (pflag) 60- permissions(tgt, ssp); 61-} 62- 63 static void 64 specialcopy(const char *src, const struct stat *ssp, 65 const char *tgt, const struct stat *dsp) 66@@ -748,9 +717,6 @@ specialcopy(const char *src, const struct stat *ssp, 67 case S_IFLNK: 68 symlinkcopy(src, ssp, tgt, dsp); 69 break; 70- case S_IFSOCK: 71- socketcopy(src, ssp, tgt, dsp); 72- break; 73 case S_IFDOOR: 74 ignoring("door", src); 75 break; 76@@ -1043,7 +1009,7 @@ ln(const char *src, const char *tgt, struct stat *dsp, int level, 77 errcnt |= 01; 78 return; 79 } 80-#if (defined (SUS) || defined (S42)) && (defined (__linux__) || defined (__sun)) 81+#if (defined (SUS) || defined (S42)) && (defined (__linux__) || defined (__sun)) && !defined (__TINYC__) 82 if (sflag == 0) { 83 char *rpbuf = alloca(PATH_MAX+1); 84 if (realpath(src, rpbuf) == NULL) {