Revision [193]
This is an old revision of dirCreate made by JohnMcIntosh on 2008-10-16 23:43:34.
sqInt dir_Create(char *pathString, sqInt pathStringLength)
Parms:
pathString directory path name to create in image encoding
pathStringLength length of name
return: return 1 for success, 0 to make primitive fail.
From: Interpreter, filePlugin
Why:
To create directory
Responsibility:
Create the directory entry if the path name encoded is correct and within file system rules.
This can fail because the path is bogus, the length is <= 0, or the name won't decode, or the act of creating the directory is illegal
MacIntosh
os-9/OSXCarbon
clone of unix, but it works with Finder Aliases.
Cocoa:
TBD
iPhone
A bit more error checking and only allows UTF8 names.
Also the default permissions are set to the defaults, which may or may NOT? map to unix umask values?
Unix
check file path length, convert to system encoding, make directory with all rwx masked with umask
Windows
Convert to wide char, there is NO check for lengths, etc.
then call CreateDirectoryW
BUGS
The VM cross platform support code thinks in terms of 1000, or 1001 byte path names, yet other code is based on PATH_MAX which on os-x is 1024.
If a path name limit is looked for it's unclear if the platform encoding will increase that.