author | erik <erik> | 2007-02-13 21:52:06 (UTC) |
---|---|---|
committer | erik <erik> | 2007-02-13 21:52:06 (UTC) |
commit | 45f2e4cdc6e185439ef4bde6e2b8181a4decd032 (patch) (side-by-side diff) | |
tree | 93af498e98728650df1d5e1e62a9711c339c65d4 /libopie2/opiecore/device | |
parent | da26f048379252aa1646d54348706c6cb3756a09 (diff) | |
download | opie-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.
-rw-r--r-- | libopie2/opiecore/device/odevice_palm.cpp | 24 |
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 @@ -185,3 +185,3 @@ bool Palm::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, b } - + if (newkeycode!=keycode) { @@ -194,3 +194,3 @@ bool Palm::filter ( int /*unicode*/, int keycode, int modifiers, bool isPress, b } - + return false; @@ -231,2 +231,3 @@ int Palm::displayBrightnessResolution() const int res = 1; + int fd = -1; @@ -237,7 +238,8 @@ int Palm::displayBrightnessResolution() const case Model_Palm_Z72: - int fd = ::open( m_backlightdev + "max_brightness", O_RDONLY|O_NONBLOCK ); - if ( fd ) + fd = ::open( m_backlightdev + "max_brightness", O_RDONLY|O_NONBLOCK ); + if ( fd != -1) { char buf[100]; - if ( ::read( fd, &buf[0], sizeof buf ) ) ::sscanf( &buf[0], "%d", &res ); + if ( ::read( fd, &buf[0], sizeof buf ) > 0 ) + ::sscanf( &buf[0], "%d", &res ); ::close( fd ); @@ -249,3 +251,3 @@ int Palm::displayBrightnessResolution() const } - + return res; @@ -263,2 +265,3 @@ bool Palm::setDisplayBrightness( int bright ) int val = ( bright == 1 ) ? 1 : ( bright * numberOfSteps ) / 255; + int fd = -1; @@ -270,4 +273,4 @@ bool Palm::setDisplayBrightness( int bright ) case Model_Palm_Z72: - int fd = ::open( m_backlightdev + "brightness", O_WRONLY|O_NONBLOCK ); - if ( fd ) + fd = ::open( m_backlightdev + "brightness", O_WRONLY|O_NONBLOCK ); + if ( fd != -1 ) { @@ -279,4 +282,5 @@ bool Palm::setDisplayBrightness( int bright ) break; - - default: res = false; + + default: + res = false; } |