compilation fix for HP-UX CC
authorVadim Zeitlin <vadim@wxwidgets.org>
Fri, 31 Jan 2003 22:56:49 +0000 (22:56 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Fri, 31 Jan 2003 22:56:49 +0000 (22:56 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19042 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/wfstream.cpp

index 56743fd214b321e4a54e28088139fd63fc483d33..d460dd61abeb5bd2ecf2f97230d7dda949b6dca5 100644 (file)
@@ -71,19 +71,23 @@ size_t wxFileInputStream::OnSysRead(void *buffer, size_t size)
 {
     off_t ret = m_file->Read(buffer, size);
 
-    switch ( ret )
-    {
-        case 0:
-            m_lasterror = wxSTREAM_EOF;
-            break;
-
-        case wxInvalidOffset:
-            m_lasterror = wxSTREAM_READ_ERROR;
-            ret = 0;
-            break;
+    // NB: we can't use a switch here because HP-UX CC doesn't allow
+    //     switching over long long (which off_t is in 64bit mode)
 
-        default:
-            m_lasterror = wxSTREAM_NO_ERROR;
+    if ( !ret )
+    {
+        // nothing read, so nothing more to read
+        m_lasterror = wxSTREAM_EOF;
+    }
+    else if ( ret == wxInvalidOffset )
+    {
+        m_lasterror = wxSTREAM_READ_ERROR;
+        ret = 0;
+    }
+    else
+    {
+        // normal case
+        m_lasterror = wxSTREAM_NO_ERROR;
     }
 
     return ret;