1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-23 20:51:43 +00:00

Backport a patch from Hylafax CVS which fixes a problem sending faxes on 5.x.

Bump PORTREVISION.

PR:		ports/85368
Submitted by:	Phil Kernick <philk@rotfl.com.au>
Approved by:	tdv94ped@cs.umu.se (maintainer, timeout)
Obtained from:	Hylafax CVS
This commit is contained in:
Sam Lawrance 2005-10-08 08:22:41 +00:00
parent ad0912565a
commit f19c2031f7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=144559
2 changed files with 62 additions and 1 deletions

View File

@ -7,7 +7,7 @@
PORTNAME= hylafax
PORTVERSION= 4.2.1
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= comms
MASTER_SITES= ftp://ftp.hylafax.org/source/

View File

@ -0,0 +1,61 @@
--- faxd/Class1Send.c++.orig Sat Oct 8 18:06:03 2005
+++ faxd/Class1Send.c++ Sat Oct 8 18:06:47 2005
@@ -270,6 +270,8 @@
HDLCFrame frame(conf.class1FrameOverhead);
do {
+ hadV34Trouble = false; // to monitor failure type
+ batchingError = false;
signalRcvd = 0;
if (abortRequested())
return (send_failed);
@@ -320,8 +322,6 @@
/*
* Transmit the facsimile message/Phase C.
*/
- hadV34Trouble = false; // to monitor failure type
- batchingError = false;
if (!sendPage(tif, params, decodePageChop(pph, params), cmd, emsg)) {
if (hadV34Trouble) {
protoTrace("The destination appears to have trouble with V.34-Fax.");
@@ -913,6 +913,7 @@
ecmBlock[ecmBlockPos++] = ecmFrame[i];
ecmFramePos = 0;
if (frameNumber == 256 || lastframe) {
+ fxAssert(frameNumber <= 256, "Invalid frameNumber value.");
ecmBlockPos = 0;
bool lastblock = lastframe;
@@ -1145,7 +1146,7 @@
}
}
}
- } while (!gotppr && (++ppscnt < 3) && (crpcnt < 3));
+ } while (!gotppr && (++ppscnt < 3) && (crpcnt < 3) && !(useV34 && gotEOT));
if (gotppr) {
if (!useV34 && !atCmd(conf.class1SwitchingCmd, AT_OK)) {
emsg = "Failure to receive silence.";
@@ -1485,9 +1486,11 @@
return (false);
}
}
- if (eod && (ecmFramePos != 0)) {
- while (ecmFramePos < (frameSize + 4))
- ecmFrame[ecmFramePos++] = 0x00;
+ if (eod) {
+ if (ecmFramePos != 0) {
+ // frame must be filled to end with zero-data
+ while (ecmFramePos < (frameSize + 4)) ecmFrame[ecmFramePos++] = 0x00;
+ }
if (!blockFrame(bitrev, true, ppmcmd, emsg))
return (false);
}
@@ -1631,7 +1634,7 @@
}
bool rc = true;
- ecmBlockPos = ecmFramePos = ecmBitPos = ecmOnes = ecmByte = 0;
+ frameNumber = ecmBlockPos = ecmFramePos = ecmBitPos = ecmOnes = ecmByte = 0;
protoTrace("SEND begin page");
tstrip_t nstrips = TIFFNumberOfStrips(tif);