Index: fskmodem.c =================================================================== --- fskmodem.c (revision 74811) +++ fskmodem.c (working copy) @@ -185,6 +185,9 @@ int i,j,n1,r; int samples=0; int olen; + int beginlen=*len; + int beginlenx; + switch(fskd->state) { /* Pick up where we left off */ case STATE_SEARCH_STARTBIT2: @@ -212,12 +215,13 @@ 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 a start bit, perhaps. This whole thing stinks! */ + beginlenx=beginlen; /* just to avoid unused war warnings */ if (demodulador(fskd,&fskd->x1,GET_SAMPLE)) return(-1); samples++; for(;;) { search_startbit2: - if (!*len) { + if (*len <= 0) { fskd->state = STATE_SEARCH_STARTBIT2; return 0; } @@ -235,7 +239,7 @@ fskd->state = STATE_SEARCH_STARTBIT3; return 0; } - for(;i;i--) { if (demodulador(fskd,&fskd->x1,GET_SAMPLE)) return(-1); + for(;i>0;i--) { if (demodulador(fskd,&fskd->x1,GET_SAMPLE)) return(-1); #if 0 printf("x1 = %5.5f ", fskd->x1); #endif