// macMD.c 10/3/90 G.Garchar
	
#include	"Resources.h"
#include	"memory.h"
#include	"Files.h"
#include	"Types.h"
#include	 "dosintosh.h"

void macMD(char line[], int (*callback[])());

main(char *input, int(*callback[])(),short prefrefnum) {
	unsigned char path[256];
	
	(*callback[ParsePathCallBack])(input,path);
		
	macMD(path, callback);
	}

#include	 "Common.c"		// done after the main() proc!!!
																
														
OSErr MakeDir(short volNo, long dirID, char name[]) {
	char pString[256];
	HFileInfo pBlock;
	
	pBlock.ioNamePtr = pString; // RESERVE STRING MEMORY
	pBlock.ioVRefNum = volNo;
	pBlock.ioDirID = dirID;
	strcpy(pBlock.ioNamePtr, name);
	c2pstr(pBlock.ioNamePtr);
	return PBDirCreate((HParmBlkPtr)&pBlock, false);
	}
				
								
void macMD(char line[], int (*callback[])()) {
	char spec[256];
	char path[256];
	long dirID;
	short result;
	short volNo;
	
	if (*line == '\0') { // EMPTY COMMAND LINE?
		print(string(invParamStr)); // INVALID NUMBER OF PARAMETERS!
		return;
		}
	result = GetSpec(line, path, spec, &dirID, &volNo);
	if (result == 1) print(string(invVolStr));
	else if (result == 2) print(string(invDirStr));
	else { // MAKE DIRECTORY
		result = MakeDir(volNo, dirID, spec);
		if (result != noErr)
			print(string(OSErrStr), result);
		}
	}