if ((cp = getenv("mhdist")) && *cp && (distsw = atoi(cp)) && altmsg) {
vec[vecp++] = "-dist";
- distfile = getcpy(m_mktemp2(altmsg, invo_name, NULL, NULL));
- if (link(altmsg, distfile) == NOTOK) {
- if (errno != EXDEV) {
- adios(distfile, "unable to link %s to",
- altmsg);
- }
- free(distfile);
- distfile = getcpy(m_mktemp2(NULL, invo_name,
- NULL, NULL));
- if ((in = open(altmsg, O_RDONLY)) == NOTOK) {
- adios(altmsg, "unable to open");
- }
- fstat(in, &st2);
- if ((out = creat(distfile, (int)st2.st_mode & 0777)) ==
- NOTOK) {
- adios(distfile, "unable to write");
- }
- cpydata(in, out, altmsg, distfile);
- close(in);
- close(out);
+ if ((in = open(altmsg, O_RDONLY)) == NOTOK) {
+ adios(altmsg, "unable to open for reading");
}
+ fstat(in, &st2);
+ distfile = getcpy(m_mktemp2(NULL, invo_name, NULL, NULL));
+ if ((out = creat(distfile, (int)st2.st_mode & 0777))==NOTOK) {
+ adios(distfile, "unable to open for writing");
+ }
+ cpydata(in, out, altmsg, distfile);
+ close(in);
+ close(out);
} else {
distfile = NULL;
}