Revision [156]

This is an old revision of dirDelete made by JohnMcIntosh on 2008-10-15 18:13:46.

 

sqInt dir_Delete(char *pathString, sqInt pathStringLength)


Parms:
pathString directory path name to delete in image encoding
pathStringLength length of name

return: return 1 for success, 0 to make primitive fail.
From: Interpreter, filePlugin
Why:
to delete a directory

Responsibility:
Delete the directory entry if the path name encoded is correct and within file system rules.
Platform must ensure length of path does not violate some internal path length rule for the operating system
Obviously need permission to delete, otherwise prim fails
If Directory contains files/directories it is not deleted

MacIntosh
os-9/OSXCarbon
Clone of unix, but it works with Finder Aliases.

Cocoa:
TBD

iPhone
We must ensure the directory entry count is zero because the file manager removeItemAtPath: WOULD recursively remove all entries, but we don't want that, we want the smalltalk code to be responsible for removal of any files/directories within the directory.

Unix
Check path length, and confirm we can convert path from squeak representation to operating system needs.
Uses rmdir, so the directory must be empty. Also has to invalidate the directory being iterated over by dir_Lookup and close it if needbe.

Windows
use RemoveDirectoryW

BUGS

There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki