FILE: config-mac.h Add to the bottom #define CONVERT_TO_MAC_PATHS FILE: xmlio.h Line 333: add three lines #ifdef CONVERT_TO_MAC_PATHS char *ConvertPosicToMac(const char *posixPath); #endif FILE: xmlIO.c Line 39: add three lines #ifdef CONVERT_TO_MAC_PATHS #include #endif Function: xmlFileOpen_real Line 658: add 6 lines #ifdef CONVERT_TO_MAC_PATHS path = ConvertPosixToMac(path); #endif if (!xmlCheckFilename(path)) return(NULL); #if defined(WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) fd = fopen(path, "rb"); #else fd = fopen(path, "r"); #endif /* WIN32 */ #ifdef CONVERT_TO_MAC_PATHS xmlFree((xmlChar *)path); #endif Function: xmlFileOpenW Line 740: add 6 lines #ifdef CONVERT_TO_MAC_PATHS path = ConvertPosixToMac(path); #endif fd = fopen(path, "wb"); #ifdef CONVERT_TO_MAC_PATHS xmlFree((xmlChar *)path); #endif Function: xmlSysIDExists Line 3085: add 6 lines #ifdef CONVERT_TO_MAC_PATHS path = ConvertPosixToMac(path); #endif ret = stat(path, &info); #ifdef CONVERT_TO_MAC_PATHS xmlFree((xmlChar *)path); #endif Line 3349(bottom of the file): add the following function(33 lines) #ifdef CONVERT_TO_MAC_PATHS char *ConvertPosixToMac(const char *posixPath) { OSStatus status; FSRef theRef; char *ret = NULL; CFURLRef theURL; CFStringRef theString; CFStringEncoding encoding; theString = CFStringCreateWithCString(kCFAllocatorDefault, posixPath, kCFStringEncodingUTF8); if (theString) { theURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, theString, kCFURLPOSIXPathStyle, false); CFRelease(theString); if (theURL) { CFIndex memSize; theString = CFURLCopyFileSystemPath(theURL, kCFURLHFSPathStyle); memSize = (CFStringGetLength(theString) + 1) * 3 *sizeof(xmlChar); ret = (char *) xmlMallocAtomic(memSize); encoding = CFStringGetSystemEncoding(); CFStringGetCString(theString, ret, (CFIndex)(memSize), encoding); } } if (ret == NULL) ret = (char *)xmlCharStrdup(posixPath); return ret; } #endif