46
46
#define min (a ,b ) ((a) < (b) ? (a) : (b))
47
47
#define max (a ,b ) ((a) > (b) ? (a) : (b))
48
48
49
- int min_fan_speed = 2000 ;
50
- int max_fan_speed = 6200 ;
49
+ // TODO: per-fan minimum and maximum?
50
+ int min_fan_speed = -1 ;
51
+ int max_fan_speed = -1 ;
51
52
52
53
/* temperature thresholds
53
54
* low_temp - temperature below which fan speed will be at minimum
@@ -63,8 +64,7 @@ t_sensors* sensors = NULL;
63
64
t_fans * fans = NULL ;
64
65
65
66
66
- static char * smprintf (const char * fmt , ...) __attribute__((format (printf , 1 , 2 )));
67
- static char * smprintf (const char * fmt , ...)
67
+ char * smprintf (const char * fmt , ...)
68
68
{
69
69
char * buf ;
70
70
int cnt ;
@@ -498,6 +498,17 @@ void mbpfan()
498
498
499
499
retrieve_settings (NULL );
500
500
501
+ if (min_fan_speed > max_fan_speed ) {
502
+ syslog (LOG_INFO , "Invalid fan speeds: %d %d" , min_fan_speed , max_fan_speed );
503
+ printf ("Invalid fan speeds: %d %d\n" , min_fan_speed , max_fan_speed );
504
+ exit (EXIT_FAILURE );
505
+ }
506
+ if (low_temp > high_temp || high_temp > max_temp ) {
507
+ syslog (LOG_INFO , "Invalid temperatures: %d %d %d" , low_temp , high_temp , max_temp );
508
+ printf ("Invalid temperatures: %d %d %d\n" , low_temp , high_temp , max_temp );
509
+ exit (EXIT_FAILURE );
510
+ }
511
+
501
512
sensors = retrieve_sensors ();
502
513
fans = retrieve_fans ();
503
514
set_fans_man (fans );
0 commit comments