Wiki source for dirCreate
======**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://
See iPhone
**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.
**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://
See iPhone
**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.