summaryrefslogtreecommitdiff
path: root/cleopatre/devkit/plcd
diff options
context:
space:
mode:
authorCyril Jourdan2013-02-05 17:29:25 +0100
committerCyril Jourdan2013-02-06 09:00:51 +0100
commit067d067973062dc5e1332369b770f3d0db269e07 (patch)
tree4b8780a0d3fec9a290cdc5ca63ef73f91cee08d2 /cleopatre/devkit/plcd
parentaa230d98ff7aa0751cb9d908a4a55bd489e8ac0b (diff)
cleo/devkit/plcd: do not try to close file if open failed, closes #3746
Diffstat (limited to 'cleopatre/devkit/plcd')
-rw-r--r--cleopatre/devkit/plcd/src/plcd_autoswitch.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/cleopatre/devkit/plcd/src/plcd_autoswitch.c b/cleopatre/devkit/plcd/src/plcd_autoswitch.c
index 206df0568f..ed028aa029 100644
--- a/cleopatre/devkit/plcd/src/plcd_autoswitch.c
+++ b/cleopatre/devkit/plcd/src/plcd_autoswitch.c
@@ -75,22 +75,24 @@ plcd_autoswitch_timer_init (void)
FILE *fp = NULL;
/* Check if autoswitch is enabled. */
- if (((fp = fopen (PLCD_AUTOSWITCH_PROC, "r")) != NULL)
- && (fscanf (fp, "%d", &autoswitch_en) != 0)
- && (autoswitch_en == 1))
+ if (fp = fopen (PLCD_AUTOSWITCH_PROC, "r") != NULL)
{
- /* Launch autoswitch timer. */
- timer_create (CLOCK_REALTIME, NULL, &autoswitch_timer);
- its.it_value.tv_sec = PLCD_AUTOSWITCH_TIMEOUT_SEC;
- its.it_value.tv_nsec = 0;
- its.it_interval.tv_sec = 0;
- its.it_interval.tv_nsec = 0;
- timer_settime (autoswitch_timer, 0, &its, NULL);
+ if ((fscanf (fp, "%d", &autoswitch_en) != 0)
+ && (autoswitch_en == 1))
+ {
+ /* Launch autoswitch timer. */
+ timer_create (CLOCK_REALTIME, NULL, &autoswitch_timer);
+ its.it_value.tv_sec = PLCD_AUTOSWITCH_TIMEOUT_SEC;
+ its.it_value.tv_nsec = 0;
+ its.it_interval.tv_sec = 0;
+ its.it_interval.tv_nsec = 0;
+ timer_settime (autoswitch_timer, 0, &its, NULL);
- autoswitch_timer_alive = 1;
+ autoswitch_timer_alive = 1;
- signal (SIGALRM, plcd_autoswitch_handler);
- }
+ signal (SIGALRM, plcd_autoswitch_handler);
+ }
- fclose (fp);
+ fclose (fp);
+ }
}