Пример #1
0
BOOL
UfsFile::setRoot(TCHAR *drive)
{
	char name[MAX_PATH];
	int unit;

	_to_ascii(name, drive, MAX_PATH);
	if ('1' <= name[0] && name[0] <= '9' && name[1] == ':')
		unit = name[0] - '0';
	else
		unit = 1;

	winblkopen(_f, "DSK", unit, 0);

	return TRUE;
}
BOOL
UfsFile::setRoot(TCHAR *drive)
{
	char name[MAX_PATH];
	char devname[4] = "DSK";
	int unit = 1;

	_to_ascii(name, drive, MAX_PATH);
	if ('1' <= name[0] && name[0] <= '9' && name[1] == ':')
		unit = name[0] - '0';
	else if (isalpha((unsigned char)name[0]) &&
	    isalpha((unsigned char)name[1]) &&
	    isalpha((unsigned char)name[2]) &&
	    '1' <= name[3] && name[3] <= '9' && name[4] == ':') {
		devname[0] = name[0];
		devname[1] = name[1];
		devname[2] = name[2];
		unit = name[3] - '0';
	}

	winblkopen(_f, devname, unit, 0);

	return TRUE;
}