/* *AddsupportforresolvingMacnativealiasfiles(notthesameasunixaliasfiles) *(whatare"unixaliasfiles"?) *returns0onsuccess.
*/ int macxp_resolveAlias(char *path, int buflen)
{ #if HAVE_FEATURE_MACOSX_SANDBOX /* Avoid unnecessary messages in the system.log: * *soffice(57342)denyfile-read-data/Users/tml/Documents/b.odt/..namedfork/rsrc *etc. * *Justdon'tbotherwithresolvingaliases.Idoubtitsusefulnessanyway.
*/
(void) path;
(void) buflen; return0; #else // Don't even try anything for files inside the app bundle. Just a // waste of time.
int nRet = 0; while ( !nRet && unprocessedPath && *unprocessedPath )
{
unprocessedPath = strchr( unprocessedPath, '/' ); if ( unprocessedPath )
*unprocessedPath = '\0';
// tdf#155710 handle conversion failures due to non-UTF8 strings // Windows and Linux paths can be passed as parameters to this function // and those paths may not always be UTF8 encoded like macOS paths.
CFStringRef cfpath = CFStringCreateWithCString( nullptr, path, kCFStringEncodingUTF8 );
CFErrorRef cferror = nullptr;
CFDataRef cfbookmark = nullptr; if (cfpath)
{
CFURLRef cfurl = CFURLCreateWithFileSystemPath( nullptr, cfpath, kCFURLPOSIXPathStyle, false );
CFRelease( cfpath );
cfbookmark = CFURLCreateBookmarkDataFromFile( nullptr, cfurl, &cferror );
CFRelease( cfurl );
}
if ( unprocessedPath )
*unprocessedPath++ = '/';
}
return nRet; #endif
}
#endif/* defined MACOSX */
#endif/* NO_PTHREAD_RTL */
//might be useful on other platforms, but doesn't compiler under MACOSX anyway #ifdefined(__GNUC__) && defined(LINUX) //force the __data_start symbol to exist in any executables that link against //libuno_sal so that dlopening of the libgcj provided libjvm.so on some //platforms where it needs that symbol will succeed. e.g. Debian mips/lenny //with gcc 4.3. With this in place the smoketest succeeds with libgcj provided //java. Quite possibly also required/helpful for s390x and maybe some //others. Without it the dlopen of libjvm.so will fail with __data_start //not found externint __data_start[] __attribute__((weak)); externint data_start[] __attribute__((weak)); externint _end[] __attribute__((weak)); staticvoid *dummy[] __attribute__((used)) = {__data_start, data_start, _end}; #endif
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.