@@ -28,19 +28,19 @@ static double parseHwmonDir(FFstrbuf* dir, FFstrbuf* buffer)
28
28
ffStrbufAppendS (dir , "temp1_input" );
29
29
30
30
if (!ffReadFileBuffer (dir -> chars , buffer ))
31
- return 0.0 / 0.0 ;
31
+ return FF_CPU_TEMP_UNSET ;
32
32
}
33
33
34
34
ffStrbufSubstrBefore (dir , dirLength );
35
35
36
- double value = ffStrbufToDouble (buffer );// millidegree Celsius
36
+ double value = ffStrbufToDouble (buffer , FF_CPU_TEMP_UNSET );// millidegree Celsius
37
37
38
- if (value != value )
39
- return 0.0 / 0.0 ;
38
+ if (value == FF_CPU_TEMP_UNSET )
39
+ return FF_CPU_TEMP_UNSET ;
40
40
41
41
ffStrbufAppendS (dir , "name" );
42
42
if (!ffReadFileBuffer (dir -> chars , buffer ))
43
- return 0.0 / 0.0 ;
43
+ return FF_CPU_TEMP_UNSET ;
44
44
45
45
ffStrbufTrimRightSpace (buffer );
46
46
@@ -51,14 +51,17 @@ static double parseHwmonDir(FFstrbuf* dir, FFstrbuf* buffer)
51
51
ffStrbufEqualS (buffer , "coretemp" ) // Intel
52
52
) return value / 1000. ;
53
53
54
- return 0.0 / 0.0 ;
54
+ return FF_CPU_TEMP_UNSET ;
55
55
}
56
56
57
57
static double detectTZTemp (FFstrbuf * buffer )
58
58
{
59
59
if (ffReadFileBuffer ("/sys/class/thermal/thermal_zone0/temp" , buffer ))
60
- return ffStrbufToDouble (buffer ) / 1000. ;
61
- return 0.0 /0.0 ;
60
+ {
61
+ double value = ffStrbufToDouble (buffer , FF_CPU_TEMP_UNSET );// millidegree Celsius
62
+ return value != FF_CPU_TEMP_UNSET ? value / 1000. : FF_CPU_TEMP_UNSET ;
63
+ }
64
+ return FF_CPU_TEMP_UNSET ;
62
65
}
63
66
64
67
static double detectCPUTemp (void )
@@ -72,7 +75,7 @@ static double detectCPUTemp(void)
72
75
73
76
FF_AUTO_CLOSE_DIR DIR * dirp = opendir (baseDir .chars );
74
77
if (dirp == NULL )
75
- return 0.0 / 0.0 ;
78
+ return FF_CPU_TEMP_UNSET ;
76
79
77
80
struct dirent * entry ;
78
81
while ((entry = readdir (dirp )) != NULL )
@@ -84,7 +87,7 @@ static double detectCPUTemp(void)
84
87
ffStrbufAppendC (& baseDir , '/' );
85
88
86
89
double result = parseHwmonDir (& baseDir , & buffer );
87
- if (result == result )
90
+ if (result != FF_CPU_TEMP_UNSET )
88
91
return result ;
89
92
90
93
ffStrbufSubstrBefore (& baseDir , baseDirLength );
0 commit comments