svn commit: r314680 - user/bapt/diff
Baptiste Daroussin
bapt at FreeBSD.org
Sat Mar 4 21:32:25 UTC 2017
Author: bapt
Date: Sat Mar 4 21:32:23 2017
New Revision: 314680
URL: https://svnweb.freebsd.org/changeset/base/314680
Log:
Remove code that seems to be useless
diff(1) was trying to open the non regular file and copy it to a temporary
file. the code will already anyway read it.
Modified:
user/bapt/diff/diffreg.c
Modified: user/bapt/diff/diffreg.c
==============================================================================
--- user/bapt/diff/diffreg.c Sat Mar 4 21:06:40 2017 (r314679)
+++ user/bapt/diff/diffreg.c Sat Mar 4 21:32:23 2017 (r314680)
@@ -194,7 +194,6 @@ struct context_vec {
};
#define diff_output printf
-static FILE *opentemp(const char *);
static void output(char *, FILE *, char *, FILE *, int);
static void check(FILE *, FILE *, int);
static void range(int, int, const char *);
@@ -334,14 +333,7 @@ diffreg(char *file1, char *file2, int fl
if (flags & D_EMPTY1)
f1 = fopen(_PATH_DEVNULL, "r");
else {
- if (!S_ISREG(stb1.st_mode)) {
- if ((f1 = opentemp(file1)) == NULL ||
- fstat(fileno(f1), &stb1) < 0) {
- warn("%s", file1);
- status |= 2;
- goto closem;
- }
- } else if (strcmp(file1, "-") == 0)
+ if (strcmp(file1, "-") == 0)
f1 = stdin;
else
f1 = fopen(file1, "r");
@@ -355,14 +347,7 @@ diffreg(char *file1, char *file2, int fl
if (flags & D_EMPTY2)
f2 = fopen(_PATH_DEVNULL, "r");
else {
- if (!S_ISREG(stb2.st_mode)) {
- if ((f2 = opentemp(file2)) == NULL ||
- fstat(fileno(f2), &stb2) < 0) {
- warn("%s", file2);
- status |= 2;
- goto closem;
- }
- } else if (strcmp(file2, "-") == 0)
+ if (strcmp(file2, "-") == 0)
f2 = stdin;
else
f2 = fopen(file2, "r");
@@ -549,37 +534,6 @@ files_differ(FILE *f1, FILE *f2, int fla
}
}
-static FILE *
-opentemp(const char *path)
-{
- char buf[BUFSIZ], tempfile[PATH_MAX];
- ssize_t nread;
- int ifd, ofd;
-
- if (strcmp(path, "-") == 0)
- ifd = STDIN_FILENO;
- else if ((ifd = open(path, O_RDONLY, 0644)) < 0)
- return (NULL);
-
- (void)strlcpy(tempfile, _PATH_TMP "/diff.XXXXXXXX", sizeof(tempfile));
-
- if ((ofd = mkstemp(tempfile)) < 0) {
- close(ifd);
- return (NULL);
- }
- unlink(tempfile);
- while ((nread = read(ifd, buf, BUFSIZ)) > 0) {
- if (write(ofd, buf, nread) != nread) {
- close(ifd);
- close(ofd);
- return (NULL);
- }
- }
- close(ifd);
- lseek(ofd, (off_t)0, SEEK_SET);
- return (fdopen(ofd, "r"));
-}
-
char *
splice(char *dir, char *path)
{
More information about the svn-src-user
mailing list