![]() |
for (u_short fnum = 0; fnum < frameNumber; fnum++) { ... stuff ... }
for (u_short fnum = 0; fnum < frameNumber && fnum < 256; fnum++) { ... stuff ... }
Hi Lee,
I have done your suggested changes in source code, recompille and reinstall and now I am able to send faxes without crashing faxsend :-)
But reading your words I understand that I can find more crashing code due my compiler is not assigning the correct bit length to short type. Perhaps some option at compile time is needed ?
Thank you
regards
xavier
De: Lee Howard <faxguy@xxxxxxxxxxxxxxxx> Fecha: Tue, 15 Mar 2005 15:57:44 -0800 Para: xavier@xxxxxxxxxxxxx CC: hylafax-users@xxxxxxxxxxx Asunto: Re: [hylafax-users] Send program terminated abnormally with exit status 0xa
Xavier Blanco wrote:
This is a problem. There can only be frames up to number 255.Mar 15 17:59:16.86: [ 2014]: SEND send frame number 251 Mar 15 17:59:16.86: [ 2014]: SEND send frame number 252 Mar 15 17:59:16.86: [ 2014]: SEND send frame number 253 Mar 15 17:59:16.86: [ 2014]: SEND send frame number 254 Mar 15 17:59:16.86: [ 2014]: SEND send frame number 255 Mar 15 17:59:16.86: [ 2014]: SEND send frame number 2336 Mar 15 17:59:16.86: [ 2014]: SEND send frame number 2337 Mar 15 17:59:16.86: [ 2014]: SEND send frame number 2338 Mar 15 17:59:16.86: [ 2014]: SEND send frame number 2340
The code responsible here is faxd/Class1Send.c++ at approximately line 955. The number mentioned there in the logs ("fnum" in the code)is defined as type u_short. It does this:
for (u_short fnum = 0; fnum < frameNumber; fnum++) { ... stuff ... }
Somehow it thinks that 255+1 = 2336
As you're using a platform (and probably a compiler) that is largely untested (OS X 10.3.8 is rather new), I'm guessing that the compiler doesn't like u_short.
According to the information I have, we're *supposed* to have 16 bits with a short type. As 0-255 only consume 8 bits, I can only suppose that your compiler is only allocating 8 bytes to shorts. If this is correct then this could be a problem throughout the code, as HylaFAX uses shorts quite frequently.
You could do a couple of tests, perhaps. Change the code to read...
for (u_short fnum = 0; fnum < frameNumber && fnum < 256; fnum++) { ... stuff ... }
Lee.
____________________ HylaFAX(tm) Users Mailing List _______________________ To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*
____________________ HylaFAX(tm) Users Mailing List _______________________ To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi On UNIX: mail -s unsubscribe hylafax-users-request@xxxxxxxxxxx < /dev/null *To learn about commercial HylaFAX(tm) support, mail sales@xxxxxxxxx*