2022-03-27 18:09:34 +00:00
|
|
|
/*
|
|
|
|
* PROJECT: ReactOS DiskPart
|
|
|
|
* LICENSE: GPL - See COPYING in the top level directory
|
|
|
|
* FILE: base/system/diskpart/misc.c
|
|
|
|
* PURPOSE: Manages all the partitions of the OS in an interactive way.
|
|
|
|
* PROGRAMMERS: Eric Kohl
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "diskpart.h"
|
|
|
|
|
|
|
|
/* FUNCTIONS ******************************************************************/
|
|
|
|
|
2022-03-27 22:04:24 +00:00
|
|
|
BOOL
|
|
|
|
IsDecString(
|
|
|
|
_In_ PWSTR pszDecString)
|
|
|
|
{
|
|
|
|
PWSTR ptr;
|
|
|
|
|
|
|
|
if ((pszDecString == NULL) || (*pszDecString == UNICODE_NULL))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
ptr = pszDecString;
|
|
|
|
while (*ptr != UNICODE_NULL)
|
|
|
|
{
|
|
|
|
if (!iswdigit(*ptr))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
ptr++;
|
|
|
|
}
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2022-03-27 18:09:34 +00:00
|
|
|
BOOL
|
|
|
|
IsHexString(
|
|
|
|
_In_ PWSTR pszHexString)
|
|
|
|
{
|
|
|
|
PWSTR ptr;
|
|
|
|
|
|
|
|
if ((pszHexString == NULL) || (*pszHexString == UNICODE_NULL))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
ptr = pszHexString;
|
|
|
|
while (*ptr != UNICODE_NULL)
|
|
|
|
{
|
|
|
|
if (!iswxdigit(*ptr))
|
|
|
|
return FALSE;
|
|
|
|
|
|
|
|
ptr++;
|
|
|
|
}
|
|
|
|
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
BOOL
|
|
|
|
HasPrefix(
|
|
|
|
_In_ PWSTR pszString,
|
2022-05-15 10:27:53 +00:00
|
|
|
_In_ PWSTR pszPrefix,
|
|
|
|
_Out_opt_ PWSTR *ppszSuffix)
|
2022-03-27 18:09:34 +00:00
|
|
|
{
|
2022-05-15 10:27:53 +00:00
|
|
|
INT nPrefixLength, ret;
|
|
|
|
|
|
|
|
nPrefixLength = wcslen(pszPrefix);
|
|
|
|
ret = _wcsnicmp(pszString, pszPrefix, nPrefixLength);
|
|
|
|
if ((ret == 0) && (ppszSuffix != NULL))
|
|
|
|
*ppszSuffix = &pszString[nPrefixLength];
|
|
|
|
|
|
|
|
return (ret == 0);
|
2022-03-27 18:09:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
ULONGLONG
|
|
|
|
RoundingDivide(
|
|
|
|
_In_ ULONGLONG Dividend,
|
|
|
|
_In_ ULONGLONG Divisor)
|
|
|
|
{
|
|
|
|
return (Dividend + Divisor / 2) / Divisor;
|
|
|
|
}
|