added wxFileSize_t, changed types of wxFile methods/parameters once again

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-10-15 00:01:00 +00:00
parent a752b8c4e0
commit 93e0db9a80
5 changed files with 21 additions and 17 deletions

View File

@@ -150,10 +150,10 @@ INCOMPATIBLE CHANGES SINCE 2.4.x
- wxNotebookSizer and wxBookCtrlSizer are now deprecated -- they are no longer
needed, you can treat wxNotebook as any other control and put it directly
into the sizer that was wxNotebookSizer's parent sizer in old code.
- wxFile methods now return wxFileOffset which may be a 64 bit integer type,
even on 32 bit platforms, instead of off_t and so the return value of
wxFile::Length(), for example, shouldn't be assigned to off_t variable any
more (the compiler might warn you about this).
- wxFile methods now return either wxFileOffset or wxFileSize_t which may be a
64 bit integer type, even on 32 bit platforms, instead of off_t and so the
return value of wxFile::Length(), for example, shouldn't be assigned to off_t
variable any more (the compiler might warn you about this)
- wxListItem::m_data is now of type wxUIntPtr, not long, for compatibility
with 64 bit systems

View File

@@ -95,14 +95,14 @@ public:
// read/write (unbuffered)
// returns number of bytes read or ofsInvalid on error
size_t Read(void *pBuf, size_t nCount);
wxFileSize_t Read(void *pBuf, wxFileSize_t nCount);
// returns the number of bytes written
size_t Write(const void *pBuf, size_t nCount);
wxFileSize_t Write(const void *pBuf, wxFileSize_t nCount);
// returns true on success
bool Write(const wxString& s, wxMBConv& conv = wxConvUTF8)
{
const wxWX2MBbuf buf = s.mb_str(conv);
size_t size = strlen(buf);
wxFileSize_t size = strlen(buf);
return Write((const char *) buf, size) == size;
}
// flush data not yet written
@@ -164,7 +164,7 @@ public:
bool IsOpened() const { return m_file.IsOpened(); }
// I/O (both functions return true on success, false on failure)
bool Write(const void *p, size_t n) { return m_file.Write(p, n) != 0; }
bool Write(const void *p, wxFileSize_t n) { return m_file.Write(p, n) == n; }
bool Write(const wxString& str, wxMBConv& conv = wxConvUTF8)
{ return m_file.Write(str, conv); }

View File

@@ -131,6 +131,7 @@ enum wxSeekMode
// Implemented in filefnwce.cpp
#if defined( __WXWINCE__)
typedef __int64 wxFileOffset;
typedef unsigned __int64 wxFileSize_t;
#define wxFileOffsetFmtSpec _("I64")
int wxOpen(const wxChar *filename, int oflag, int WXUNUSED(pmode));
int wxAccess(const wxChar *name, int WXUNUSED(how));
@@ -195,9 +196,11 @@ enum wxSeekMode
#if wxHAS_HUGE_FILES
typedef wxLongLong_t wxFileOffset;
typedef unsigned wxLongLong_t wxFileSize_t;
#define wxFileOffsetFmtSpec wxLongLongFmtSpec
#else
typedef off_t wxFileOffset;
typedef unsigned off_t wxFileSize_t;
#define wxFileOffsetFmtSpec _("")
#endif
@@ -319,6 +322,7 @@ enum wxSeekMode
#undef wxHAS_HUGE_FILES
#else // Unix platforms using configure
typedef off_t wxFileOffset;
typedef unsigned off_t wxFileSize_t;
#ifdef _LARGE_FILES
#define wxFileOffsetFmtSpec wxLongLongFmtSpec
#else
@@ -360,9 +364,9 @@ enum wxSeekMode
// VisualAge C++ V4.0 cannot have any external linkage const decs
// in headers included by more than one primary source
//
extern const wxFileOffset wxInvalidOffset;
extern const wxFileSize_t wxInvalidOffset;
#else
const wxFileOffset wxInvalidOffset = (wxFileOffset)-1;
const wxFileSize_t wxInvalidOffset = (wxFileSize_t)-1;
#endif
// ----------------------------------------------------------------------------

View File

@@ -298,22 +298,22 @@ bool wxFile::Close()
// ----------------------------------------------------------------------------
// read
size_t wxFile::Read(void *pBuf, size_t nCount)
wxFileSize_t wxFile::Read(void *pBuf, wxFileSize_t nCount)
{
wxCHECK( (pBuf != NULL) && IsOpened(), 0 );
int iRc = wxRead(m_fd, pBuf, nCount);
wxFileOffset iRc = wxRead(m_fd, pBuf, nCount);
if ( iRc == -1 ) {
wxLogSysError(_("can't read from file descriptor %d"), m_fd);
return (size_t)wxInvalidOffset;
return wxInvalidOffset;
}
else
return (size_t)iRc;
return (wxFileSize_t)iRc;
}
// write
size_t wxFile::Write(const void *pBuf, size_t nCount)
wxFileSize_t wxFile::Write(const void *pBuf, wxFileSize_t nCount)
{
wxCHECK( (pBuf != NULL) && IsOpened(), 0 );
@@ -325,7 +325,7 @@ size_t wxFile::Write(const void *pBuf, size_t nCount)
return 0;
}
else
return iRc;
return (wxFileSize_t)iRc;
}
// flush

View File

@@ -104,7 +104,7 @@ static wxChar wxFileFunctionsBuffer[4*_MAXPATHLEN];
// VisualAge C++ V4.0 cannot have any external linkage const decs
// in headers included by more than one primary source
//
const off_t wxInvalidOffset = (off_t)-1;
const wxFileSize_t wxInvalidOffset = (wxFileSize_t)-1;
#endif
// ----------------------------------------------------------------------------