OS/2 patch

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2000-03-10 13:56:17 +00:00
parent 3d407edab0
commit 32e768ae94
3 changed files with 63 additions and 9 deletions

View File

@@ -40,7 +40,7 @@
#include "wx/log.h" #include "wx/log.h"
// For compatibility // For compatibility
#if (defined(__WXMOTIF__) || defined(__WXGTK__)) && wxUSE_POSTSCRIPT #if (defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXPM__)) && wxUSE_POSTSCRIPT
#define wxCOMPATIBILITY_WITH_PRINTSETUPDATA 1 #define wxCOMPATIBILITY_WITH_PRINTSETUPDATA 1
#endif #endif

View File

@@ -132,7 +132,7 @@ static wxChar wxFileFunctionsBuffer[4*_MAXPATHLEN];
#if defined(__VISAGECPP__) && __IBMCPP__ >= 400 #if defined(__VISAGECPP__) && __IBMCPP__ >= 400
// //
// VisualAge C++ V4.0 cannot have any external linkage const decs // VisualAge C++ V4.0 cannot have any external linkage const decs
// in headers included by more than one primary source // in headers included by more than one primary source
// //
const off_t wxInvalidOffset = (off_t)-1; const off_t wxInvalidOffset = (off_t)-1;
@@ -1311,7 +1311,7 @@ wxString wxFindNextFile()
nextDir = readdir(gs_dirStream) ) nextDir = readdir(gs_dirStream) )
{ {
if (wxMatchWild(name, nextDir->d_name, FALSE) && // RR: added FALSE to find hidden files if (wxMatchWild(name, nextDir->d_name, FALSE) && // RR: added FALSE to find hidden files
strcmp(nextDir->d_name, ".") && strcmp(nextDir->d_name, ".") &&
strcmp(nextDir->d_name, "..") ) strcmp(nextDir->d_name, "..") )
{ {
result.Empty(); result.Empty();
@@ -1416,7 +1416,7 @@ wxString wxFindNextFile()
if ( ( g_iter.m_CPB.dirInfo.ioFlAttrib & ioDirMask) == 0 && !(g_iter_flags & wxFILE ) ) if ( ( g_iter.m_CPB.dirInfo.ioFlAttrib & ioDirMask) == 0 && !(g_iter_flags & wxFILE ) )
continue ; continue ;
// hit ! // hit !
break ; break ;
} }
@@ -1430,7 +1430,7 @@ wxString wxFindNextFile()
g_iter.m_dirId, g_iter.m_dirId,
g_iter.m_name, g_iter.m_name,
&spec) ; &spec) ;
return wxMacFSSpec2UnixFilename( &spec ) ; return wxMacFSSpec2UnixFilename( &spec ) ;
} }
@@ -1524,6 +1524,7 @@ wxString wxFindFirstFile(const wxChar *spec, int flags)
return result; return result;
} }
wxString wxFindNextFile() wxString wxFindNextFile()
{ {
wxString result; wxString result;
@@ -1595,7 +1596,51 @@ try_again:
return result; return result;
} }
#endif // Unix/Windows #elif defined(__WXPM__)
wxString wxFindFirstFile(const wxChar *spec, int flags)
{
wxString result;
/*
// TODO: figure something out here for OS/2
gs_strFileSpec = spec;
gs_findFlags = flags;
// Find path only so we can concatenate found file onto path
wxString path(wxPathOnly(gs_strFileSpec));
if ( !path.IsEmpty() )
result << path << wxT('\\');
int flag = _A_NORMAL;
if (flags & wxDIR)
flag = _A_SUBDIR;
if (_dos_findfirst(WXSTRINGCAST spec, flag, &gs_findDataStruct) == 0)
{
char attrib;
attrib = gs_findDataStruct.attrib;
if (attrib & _A_SUBDIR) {
if (!(gs_findFlags & wxDIR))
return wxFindNextFile();
} else if (gs_findFlags && !(gs_findFlags & wxFILE))
return wxFindNextFile();
result += gs_findDataStruct.name;
}
*/
return result;
}
wxString wxFindNextFile()
{
wxString result;
// TODO:
return result;
}
#endif // Unix/Windows/OS/2
// Get current working directory. // Get current working directory.
// If buf is NULL, allocates space using new, else // If buf is NULL, allocates space using new, else
@@ -1627,9 +1672,9 @@ wxChar *wxGetWorkingDirectory(wxChar *buf, int sz)
#ifdef _MSC_VER #ifdef _MSC_VER
if (_getcwd(buf, sz) == NULL) { if (_getcwd(buf, sz) == NULL) {
#elif defined( __WXMAC__) #elif defined( __WXMAC__)
enum enum
{ {
SFSaveDisk = 0x214, CurDirStore = 0x398 SFSaveDisk = 0x214, CurDirStore = 0x398
}; };
FSSpec cwdSpec ; FSSpec cwdSpec ;

View File

@@ -375,9 +375,18 @@ void wxObject::UnRef()
wxASSERT_MSG( m_refData->m_count > 0, _T("invalid ref data count") ); wxASSERT_MSG( m_refData->m_count > 0, _T("invalid ref data count") );
if ( !--m_refData->m_count ) if ( !--m_refData->m_count )
#if defined(__VISAGECPP__) && IBMCPP < 400
//
// don't know what is going on with VA 3.0 but its got some memory problems here
// this delete causes a trap in CPPOOM3.DLL
//
{
}
#else
delete m_refData; delete m_refData;
m_refData = (wxObjectRefData *) NULL; m_refData = (wxObjectRefData *) NULL;
#endif
} }
} }