summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice_palm.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/libopie2/opiecore/device/odevice_palm.cpp b/libopie2/opiecore/device/odevice_palm.cpp
index 399c08c..d40dfce 100644
--- a/libopie2/opiecore/device/odevice_palm.cpp
+++ b/libopie2/opiecore/device/odevice_palm.cpp
@@ -229,17 +229,19 @@ bool Palm::suspend()
229int Palm::displayBrightnessResolution() const 229int Palm::displayBrightnessResolution() const
230{ 230{
231 int res = 1; 231 int res = 1;
232 int fd = -1;
232 233
233 switch ( d->m_model ) 234 switch ( d->m_model )
234 { 235 {
235 case Model_Palm_LD: 236 case Model_Palm_LD:
236 case Model_Palm_TX: 237 case Model_Palm_TX:
237 case Model_Palm_Z72: 238 case Model_Palm_Z72:
238 int fd = ::open( m_backlightdev + "max_brightness", O_RDONLY|O_NONBLOCK ); 239 fd = ::open( m_backlightdev + "max_brightness", O_RDONLY|O_NONBLOCK );
239 if ( fd ) 240 if ( fd != -1)
240 { 241 {
241 char buf[100]; 242 char buf[100];
242 if ( ::read( fd, &buf[0], sizeof buf ) ) ::sscanf( &buf[0], "%d", &res ); 243 if ( ::read( fd, &buf[0], sizeof buf ) > 0 )
244 ::sscanf( &buf[0], "%d", &res );
243 ::close( fd ); 245 ::close( fd );
244 } 246 }
245 break; 247 break;
@@ -261,6 +263,7 @@ bool Palm::setDisplayBrightness( int bright )
261 263
262 int numberOfSteps = displayBrightnessResolution(); 264 int numberOfSteps = displayBrightnessResolution();
263 int val = ( bright == 1 ) ? 1 : ( bright * numberOfSteps ) / 255; 265 int val = ( bright == 1 ) ? 1 : ( bright * numberOfSteps ) / 255;
266 int fd = -1;
264 267
265 switch ( d->m_model ) 268 switch ( d->m_model )
266 { 269 {
@@ -268,8 +271,8 @@ bool Palm::setDisplayBrightness( int bright )
268 case Model_Palm_LD: 271 case Model_Palm_LD:
269 case Model_Palm_TX: 272 case Model_Palm_TX:
270 case Model_Palm_Z72: 273 case Model_Palm_Z72:
271 int fd = ::open( m_backlightdev + "brightness", O_WRONLY|O_NONBLOCK ); 274 fd = ::open( m_backlightdev + "brightness", O_WRONLY|O_NONBLOCK );
272 if ( fd ) 275 if ( fd != -1 )
273 { 276 {
274 char buf[100]; 277 char buf[100];
275 int len = ::snprintf( &buf[0], sizeof buf, "%d", val ); 278 int len = ::snprintf( &buf[0], sizeof buf, "%d", val );
@@ -278,7 +281,8 @@ bool Palm::setDisplayBrightness( int bright )
278 } 281 }
279 break; 282 break;
280 283
281 default: res = false; 284 default:
285 res = false;
282 } 286 }
283 return res; 287 return res;
284} 288}