// 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);
}
}