Wiki source for dirCreate


Show raw source

======**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.

Valid XHTML :: Valid CSS: :: Powered by WikkaWiki