Merged revisions 77945 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r77945 | murf | 2007-08-02 12:21:40 -0600 (Thu, 02 Aug 2007) | 9 lines

Merged revisions 77942 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r77942 | murf | 2007-08-02 11:56:37 -0600 (Thu, 02 Aug 2007) | 1 line

This patch hopefully solves 10141; The user is running with it, and it doesn't appear to harm asterisk's operation, and may prevent a crash. I'll store it in 1.2, as we have shut down support on 1.2, but since I developed the patch before support finished, and it might affect 1.4 and trunk, I'm going ahead with it.
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77946 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Steve Murphy 18 years ago
parent 85ba8d515a
commit 79b9bc6a2f

@ -225,7 +225,9 @@ int fsk_serial(fsk_data *fskd, short *buffer, int *len, int *outbyte)
int i,j,n1,r; int i,j,n1,r;
int samples = 0; int samples = 0;
int olen; int olen;
int beginlen=*len;
int beginlenx;
switch (fskd->state) { switch (fskd->state) {
/* Pick up where we left off */ /* Pick up where we left off */
case STATE_SEARCH_STARTBIT2: case STATE_SEARCH_STARTBIT2:
@ -253,12 +255,13 @@ int fsk_serial(fsk_data *fskd, short *buffer, int *len, int *outbyte)
beginning of a start bit in the TDD sceanario. It just looks for sufficient beginning of a start bit in the TDD sceanario. It just looks for sufficient
level to maybe, perhaps, guess, maybe that its maybe the beginning of level to maybe, perhaps, guess, maybe that its maybe the beginning of
a start bit, perhaps. This whole thing stinks! */ a start bit, perhaps. This whole thing stinks! */
beginlenx=beginlen; /* just to avoid unused war warnings */
if (demodulator(fskd, &fskd->x1, GET_SAMPLE)) if (demodulator(fskd, &fskd->x1, GET_SAMPLE))
return -1; return -1;
samples++; samples++;
for (;;) { for (;;) {
search_startbit2: search_startbit2:
if (!*len) { if (*len <= 0) {
fskd->state = STATE_SEARCH_STARTBIT2; fskd->state = STATE_SEARCH_STARTBIT2;
return 0; return 0;
} }
@ -278,7 +281,7 @@ search_startbit3:
fskd->state = STATE_SEARCH_STARTBIT3; fskd->state = STATE_SEARCH_STARTBIT3;
return 0; return 0;
} }
for (; i; i--) { for (; i>0; i--) {
if (demodulator(fskd, &fskd->x1, GET_SAMPLE)) if (demodulator(fskd, &fskd->x1, GET_SAMPLE))
return(-1); return(-1);
#if 0 #if 0

Loading…
Cancel
Save