[cmake-commits] andy committed OSXScriptLauncher.cxx 1.2 1.3
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Jan 31 13:53:32 EST 2007
Update of /cvsroot/CMake/CMake/Source/CPack
In directory public:/mounts/ram/cvs-serv23333/Source/CPack
Modified Files:
OSXScriptLauncher.cxx
Log Message:
COMP: Use new API
Index: OSXScriptLauncher.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CPack/OSXScriptLauncher.cxx,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- OSXScriptLauncher.cxx 11 Jan 2007 00:59:53 -0000 1.2
+++ OSXScriptLauncher.cxx 31 Jan 2007 18:53:30 -0000 1.3
@@ -6,7 +6,8 @@
#include <Carbon/Carbon.h>
#include <CoreFoundation/CoreFoundation.h>
-#define MaximumPathLength 1024
+// For the PATH_MAX constant
+#include <sys/syslimits.h>
#define DebugError(x) \
ofs << x << cmsys_ios::endl; \
@@ -21,8 +22,6 @@
CFStringRef fileName;
CFBundleRef appBundle;
CFURLRef scriptFileURL;
- FSRef fileRef;
- FSSpec fileSpec;
UInt8 *path;
//get CF URL for script
@@ -31,12 +30,7 @@
DebugError("Cannot get main bundle");
return 1;
}
- if (! (fileName = CFStringCreateWithCString(NULL, "RuntimeScript",
- kCFStringEncodingASCII)))
- {
- DebugError("CFStringCreateWithCString failed");
- return 1;
- }
+ fileName = CFSTR("RuntimeScript");
if (! (scriptFileURL = CFBundleCopyResourceURL(appBundle, fileName, NULL,
NULL)))
{
@@ -44,44 +38,24 @@
return 1;
}
- //Get file reference from Core Foundation URL
- if (! CFURLGetFSRef(scriptFileURL, &fileRef))
- {
- DebugError("CFURLGetFSRef failed");
- return 1;
- }
-
- //dispose of the CF variables
- CFRelease(scriptFileURL);
- CFRelease(fileName);
-
- //convert FSRef to FSSpec
- if (FSGetCatalogInfo(&fileRef, kFSCatInfoNone, NULL, NULL, &fileSpec,
- NULL))
+ //create path string
+ if (! (path = new UInt8[PATH_MAX]))
{
- DebugError("FSGetCatalogInfo failed");
return 1;
}
- //create path string
- if (! (path = new UInt8[MaximumPathLength]))
+ //get the file system path of the url as a cstring
+ //in an encoding suitable for posix apis
+ if ( CFURLGetFileSystemRepresentation(scriptFileURL, true, path,
+ PATH_MAX) == false)
{
+ DebugError("CFURLGetFileSystemRepresentation failed");
return 1;
}
- //create file reference from file spec
- OSErr err = FSpMakeFSRef(&fileSpec, &fileRef);
- if(err)
- {
- return err;
- }
+ //dispose of the CF variable
+ CFRelease(scriptFileURL);
- // and then convert the FSRef to a path
- if ( FSRefMakePath(&fileRef, path, MaximumPathLength) )
- {
- DebugError("FSRefMakePath failed");
- return 1;
- }
cmsys_stl::string fullScriptPath = reinterpret_cast<char*>(path);
delete [] path;
More information about the Cmake-commits
mailing list