Fix wxReadlink signature to return ssize_t
Introduced in 53bd139
, wxReadlink() trivially wraps readlink(), but
returned int instead of ssize_t as defined for readlink() by POSIX.
Fixes "Implicit conversion loses integer precision: 'ssize_t' (aka
'long') to 'int'" on platforms with sizeof(ssize_t)>sizeof(int).
This commit is contained in:
@@ -410,7 +410,7 @@ inline int wxOpen(const wxString& path, int flags, mode_t mode)
|
||||
{ return wxCRT_Open(path.fn_str(), flags, mode); }
|
||||
|
||||
#if defined(wxHAS_NATIVE_READLINK)
|
||||
inline int wxReadlink(const wxString& path, char* buf, int size)
|
||||
inline ssize_t wxReadlink(const wxString& path, char* buf, int size)
|
||||
{ return wxCRT_Readlink(path.fn_str(), buf, size); }
|
||||
#endif
|
||||
|
||||
|
@@ -1698,7 +1698,7 @@ wxFileName wxFileName::ResolveLink()
|
||||
bufSize = st.st_size + 1;
|
||||
|
||||
char buf[bufSize];
|
||||
int result = wxReadlink(link, buf, bufSize - 1);
|
||||
ssize_t result = wxReadlink(link, buf, bufSize - 1);
|
||||
|
||||
if ( result != -1 )
|
||||
{
|
||||
|
Reference in New Issue
Block a user