--- old/szap.c 2007-10-10 15:16:24.000000000 +0200 +++ new/szap.c 2007-10-10 15:11:03.000000000 +0200 @@ -329,13 +329,16 @@ printf("FE_HAS_LOCK"); printf("\n"); - if (exit_after_tuning && ((status & FE_HAS_LOCK) || (++timeout >= 10))) + if (exit_after_tuning && (!(status & FE_HAS_LOCK) && (++timeout >= 10))) + return FALSE; + + if (exit_after_tuning && (status & FE_HAS_LOCK)) break; usleep(1000000); } while (1); - return 0; + return TRUE; } @@ -496,7 +499,7 @@ } } - check_frontend (fefd, dvr); + result = check_frontend (fefd, dvr); if (!interactive) { close(patfd);