summaryrefslogtreecommitdiff
authorerik <erik>2007-02-13 21:52:06 (UTC)
committer erik <erik>2007-02-13 21:52:06 (UTC)
commit45f2e4cdc6e185439ef4bde6e2b8181a4decd032 (patch) (unidiff)
tree93af498e98728650df1d5e1e62a9711c339c65d4
parentda26f048379252aa1646d54348706c6cb3756a09 (diff)
downloadopie-45f2e4cdc6e185439ef4bde6e2b8181a4decd032.zip
opie-45f2e4cdc6e185439ef4bde6e2b8181a4decd032.tar.gz
opie-45f2e4cdc6e185439ef4bde6e2b8181a4decd032.tar.bz2
This commit fixes bug 1840. The problem is that the palm support declared
a variable inside of a case statement. When I integrated the patch for palm support I streamlined the switch. This lost the brackets that would be required to declare vars inside of switch statements. The bug slipped by because I wasn't doing arm compiles at the time. Sorry. This patch fixes it. It also slides in some corrections associated to what open and sscanf return. It should not cause any behavior change. Thanks goes to GoXbox Live for reporting the problem.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice_palm.cpp24
1 files changed, 14 insertions, 10 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
@@ -184,5 +184,5 @@ bool Palm::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, b
184 break; 184 break;
185 } 185 }
186 186
187 if (newkeycode!=keycode) { 187 if (newkeycode!=keycode) {
188 if ( newkeycode != Key_unknown ) { 188 if ( newkeycode != Key_unknown ) {
@@ -193,5 +193,5 @@ bool Palm::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, b
193 193
194 } 194 }
195 195
196 return false; 196 return false;
197} 197}
@@ -230,4 +230,5 @@ int 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 )
@@ -236,9 +237,10 @@ int Palm::displayBrightnessResolution() const
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 }
@@ -248,5 +250,5 @@ int Palm::displayBrightnessResolution() const
248 res = 1; 250 res = 1;
249 } 251 }
250 252
251 return res; 253 return res;
252} 254}
@@ -262,4 +264,5 @@ bool Palm::setDisplayBrightness( int bright )
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 )
@@ -269,6 +272,6 @@ bool Palm::setDisplayBrightness( int bright )
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];
@@ -278,6 +281,7 @@ 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;