m_volume =
m_name =
m_ext = wxEmptyString;
+
+ // we don't have any absolute path for now
+ m_relative = TRUE;
}
/* static */
path += name;
- // Needed for Unicode/Ansi conversion
- char buf[500];
-
#if defined(HAVE_MKSTEMP)
// scratch space for mkstemp()
path += _T("XXXXXX");
-#if wxUSE_UNICODE
- strcpy( buf, wxConvFile.cWC2MB( path ) );
-#else
- strcpy( buf, path.c_str() );
-#endif
- int fdTemp = mkstemp( buf );
+ // we need to copy the path to the buffer in which mkstemp() can modify it
+ wxCharBuffer buf = wxConvFile.cWX2MB( path );
+
+ // cast is safe because the string length doesn't change
+ int fdTemp = mkstemp( (char*)(const char*) buf );
if ( fdTemp == -1 )
{
// this might be not necessary as mkstemp() on most systems should have
}
else // mkstemp() succeeded
{
-#if wxUSE_UNICODE
- path = wxConvFile.cMB2WC( buf );
-#else
- path = buf;
-#endif
+ path = wxConvFile.cMB2WX( (const char*) buf );
+
// avoid leaking the fd
if ( fileTemp )
{
// same as above
path += _T("XXXXXX");
-#if wxUSE_UNICODE
- strcpy( buf, wxConvFile.cWC2MB( path ) );
-#else
- strcpy( buf, path.c_str() );
-#endif
- if ( !mktemp( buf )
+ wxCharBuffer buf = wxConvFile.cWX2MB( path );
+ if ( !mktemp( (const char*) buf ) )
{
path.clear();
}
else
{
-#if wxUSE_UNICODE
- path = wxConvFile.cMB2WC( buf );
-#else
- path = buf;
-#endif
+ path = wxConvFile.cMB2WX( (const char*) buf );
}
#else // !HAVE_MKTEMP (includes __DOS__)
// generate the unique file name ourselves
m_type = from.m_type ;
m_creator = from.m_creator ;
}
- MacDefaultExtensionRecord( char * extension , OSType type , OSType creator )
+ MacDefaultExtensionRecord( const char * extension , OSType type , OSType creator )
{
strncpy( m_ext , extension , kMacExtensionMaxLength ) ;
m_ext[kMacExtensionMaxLength] = 0 ;
{
if ( !gMacDefaultExtensionsInited )
{
-
+
// load the default extensions
MacDefaultExtensionRecord defaults[1] =
{