version 1.30, 2003/07/28 19:15:34 |
version 1.31, 2003/07/29 20:10:17 |
|
|
#include "pch.h" |
#include "pch.h" |
#include "inp.h" |
#include "inp.h" |
#include "backupfile.h" |
#include "backupfile.h" |
|
#include "pathnames.h" |
|
|
int filemode = 0644; |
int filemode = 0644; |
|
|
|
|
int |
int |
main(int argc, char *argv[]) |
main(int argc, char *argv[]) |
{ |
{ |
int error = 0, hunk, failed, patch_seen = 0, i; |
int error = 0, hunk, failed, patch_seen = 0, i, fd; |
LINENUM where, newwhere, fuzz, mymaxfuzz; |
LINENUM where, newwhere, fuzz, mymaxfuzz; |
char *tmpdir, *v; |
const char *tmpdir; |
|
char *v; |
|
|
setbuf(stderr, serrbuf); |
setbuf(stderr, serrbuf); |
for (i = 0; i < MAXFILEC; i++) |
for (i = 0; i < MAXFILEC; i++) |
filearg[i] = NULL; |
filearg[i] = NULL; |
|
|
/* Cons up the names of the temporary files. */ |
/* Cons up the names of the temporary files. */ |
tmpdir = getenv("TMPDIR"); |
if ((tmpdir = getenv("TMPDIR")) == NULL || *tmpdir == '\0') |
if (tmpdir == NULL) { |
tmpdir = _PATH_TMP; |
tmpdir = "/tmp"; |
for (i = strlen(tmpdir) - 1; i > 0 && tmpdir[i] == '/'; i--) |
} |
; |
if (asprintf(&TMPOUTNAME, "%s/patchoXXXXXXXXXX", tmpdir) == -1) |
i++; |
|
if (asprintf(&TMPOUTNAME, "%.*s/patchoXXXXXXXXXX", i, tmpdir) == -1) |
fatal("cannot allocate memory"); |
fatal("cannot allocate memory"); |
if ((i = mkstemp(TMPOUTNAME)) < 0) |
if ((fd = mkstemp(TMPOUTNAME)) < 0) |
pfatal("can't create %s", TMPOUTNAME); |
pfatal("can't create %s", TMPOUTNAME); |
close(i); |
close(fd); |
|
|
if (asprintf(&TMPINNAME, "%s/patchiXXXXXXXXXX", tmpdir) == -1) |
if (asprintf(&TMPINNAME, "%.*s/patchiXXXXXXXXXX", i, tmpdir) == -1) |
fatal("cannot allocate memory"); |
fatal("cannot allocate memory"); |
if ((i = mkstemp(TMPINNAME)) < 0) |
if ((fd = mkstemp(TMPINNAME)) < 0) |
pfatal("can't create %s", TMPINNAME); |
pfatal("can't create %s", TMPINNAME); |
close(i); |
close(fd); |
|
|
if (asprintf(&TMPREJNAME, "%s/patchrXXXXXXXXXX", tmpdir) == -1) |
if (asprintf(&TMPREJNAME, "%.*s/patchrXXXXXXXXXX", i, tmpdir) == -1) |
fatal("cannot allocate memory"); |
fatal("cannot allocate memory"); |
if ((i = mkstemp(TMPREJNAME)) < 0) |
if ((fd = mkstemp(TMPREJNAME)) < 0) |
pfatal("can't create %s", TMPREJNAME); |
pfatal("can't create %s", TMPREJNAME); |
close(i); |
close(fd); |
|
|
if (asprintf(&TMPPATNAME, "%s/patchpXXXXXXXXXX", tmpdir) == -1) |
if (asprintf(&TMPPATNAME, "%.*s/patchpXXXXXXXXXX", i, tmpdir) == -1) |
fatal("cannot allocate memory"); |
fatal("cannot allocate memory"); |
if ((i = mkstemp(TMPPATNAME)) < 0) |
if ((fd = mkstemp(TMPPATNAME)) < 0) |
pfatal("can't create %s", TMPPATNAME); |
pfatal("can't create %s", TMPPATNAME); |
close(i); |
close(fd); |
|
|
v = getenv("SIMPLE_BACKUP_SUFFIX"); |
v = getenv("SIMPLE_BACKUP_SUFFIX"); |
if (v) |
if (v) |