Name change

This commit is contained in:
vxunderground 2021-11-12 12:10:18 -06:00
parent 0bbe4c4b82
commit 4d79b6ce19
33 changed files with 576 additions and 576 deletions

View File

@ -1,12 +1,12 @@
PCHAR CaplockStringA(PCHAR Ptr)
{
PCHAR sv = Ptr;
while (*sv != '\0')
{
if (*sv >= 'a' && *sv <= 'z')
*sv = *sv - ('a' - 'A');
sv++;
}
return Ptr;
}
PCHAR CaplockStringA(PCHAR Ptr)
{
PCHAR sv = Ptr;
while (*sv != '\0')
{
if (*sv >= 'a' && *sv <= 'z')
*sv = *sv - ('a' - 'A');
sv++;
}
return Ptr;
}

View File

@ -1,12 +1,12 @@
PWCHAR CaplockStringW(PWCHAR Ptr)
{
PWCHAR sv = Ptr;
while (*sv != '\0')
{
if (*sv >= 'a' && *sv <= 'z')
*sv = *sv - ('a' - 'A');
sv++;
}
return Ptr;
}
PWCHAR CaplockStringW(PWCHAR Ptr)
{
PWCHAR sv = Ptr;
while (*sv != '\0')
{
if (*sv >= 'a' && *sv <= 'z')
*sv = *sv - ('a' - 'A');
sv++;
}
return Ptr;
}

View File

@ -1,7 +1,7 @@
VOID CharArrayToByteArrayA(PCHAR Char, PBYTE Byte, DWORD Length)
{
for (DWORD dwX = 0; dwX < Length; dwX++)
{
Byte[dwX] = (BYTE)Char[dwX];
}
}
VOID CharArrayToByteArrayA(PCHAR Char, PBYTE Byte, DWORD Length)
{
for (DWORD dwX = 0; dwX < Length; dwX++)
{
Byte[dwX] = (BYTE)Char[dwX];
}
}

View File

@ -1,7 +1,7 @@
VOID CharArrayToByteArrayW(PWCHAR Char, PBYTE Byte, DWORD Length)
{
for (DWORD dwX = 0; dwX < Length; dwX++)
{
Byte[dwX] = (BYTE)Char[dwX];
}
VOID CharArrayToByteArrayW(PWCHAR Char, PBYTE Byte, DWORD Length)
{
for (DWORD dwX = 0; dwX < Length; dwX++)
{
Byte[dwX] = (BYTE)Char[dwX];
}
}

View File

@ -1,34 +1,34 @@
#include <windows.h>
SIZE_T StringLengthA(LPCSTR String)
{
LPCSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
SIZE_T CharStringToWCharString(PWCHAR Destination, PCHAR Source, SIZE_T MaximumAllowed)
{
INT Length = MaximumAllowed;
while (--Length >= 0)
{
if (!(*Destination++ = *Source++))
return MaximumAllowed - Length - 1;
}
return MaximumAllowed - Length;
}
INT main(VOID)
{
WCHAR Path[MAX_PATH * sizeof(WCHAR)] = { 0 };
CHAR CharPath[MAX_PATH] = "\\Users\\Tmp\\Desktop\\";
if(CharStringToWCharString(&Path, CharPath, StringLengthA(CharPath)) == 0)
return 1;
return ERROR_SUCCESS;
}
#include <windows.h>
SIZE_T StringLengthA(LPCSTR String)
{
LPCSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
SIZE_T CharStringToWCharString(PWCHAR Destination, PCHAR Source, SIZE_T MaximumAllowed)
{
INT Length = MaximumAllowed;
while (--Length >= 0)
{
if (!(*Destination++ = *Source++))
return MaximumAllowed - Length - 1;
}
return MaximumAllowed - Length;
}
INT main(VOID)
{
WCHAR Path[MAX_PATH * sizeof(WCHAR)] = { 0 };
CHAR CharPath[MAX_PATH] = "\\Users\\Tmp\\Desktop\\";
if(CharStringToWCharString(&Path, CharPath, StringLengthA(CharPath)) == 0)
return 1;
return ERROR_SUCCESS;
}

View File

@ -1,10 +1,10 @@
PVOID CopyMemory(PVOID Destination, CONST PVOID Source, SIZE_T Length)
{
PBYTE D = (PBYTE)Destination;
PBYTE S = (PBYTE)Source;
while (Length--)
*D++ = *S++;
return Destination;
}
PVOID CopyMemory(PVOID Destination, CONST PVOID Source, SIZE_T Length)
{
PBYTE D = (PBYTE)Destination;
PBYTE S = (PBYTE)Source;
while (Length--)
*D++ = *S++;
return Destination;
}

View File

@ -1,11 +1,11 @@
DWORD DecimalToAsciiA(PCHAR String, LPDWORD dwArray, DWORD dwLength)
{
DWORD dwX = ERROR_SUCCESS;
if (String == NULL)
return dwX;
for (; dwX < dwLength; dwX++) { String[dwX] = (CHAR)dwArray[dwX]; }
return dwX;
}
DWORD DecimalToAsciiA(PCHAR String, LPDWORD dwArray, DWORD dwLength)
{
DWORD dwX = ERROR_SUCCESS;
if (String == NULL)
return dwX;
for (; dwX < dwLength; dwX++) { String[dwX] = (CHAR)dwArray[dwX]; }
return dwX;
}

View File

@ -1,11 +1,11 @@
DWORD DecimalToAsciiW(PWCHAR String, LPDWORD dwArray, DWORD dwLength)
{
DWORD dwX = ERROR_SUCCESS;
if (String == NULL)
return dwX;
for (; dwX < dwLength; dwX++) { String[dwX] = (WCHAR)dwArray[dwX]; }
return dwX;
DWORD DecimalToAsciiW(PWCHAR String, LPDWORD dwArray, DWORD dwLength)
{
DWORD dwX = ERROR_SUCCESS;
if (String == NULL)
return dwX;
for (; dwX < dwLength; dwX++) { String[dwX] = (WCHAR)dwArray[dwX]; }
return dwX;
}

View File

@ -1,7 +1,7 @@
INT PseudoRandomInteger(VOID)
{
static unsigned long int OffsetNext = 1;
OffsetNext = OffsetNext * 1103515245 + 12345;
return (DWORD32)(OffsetNext / 65536) % 32768;
}
INT PseudoRandomInteger(VOID)
{
static unsigned long int OffsetNext = 1;
OffsetNext = OffsetNext * 1103515245 + 12345;
return (DWORD32)(OffsetNext / 65536) % 32768;
}

View File

@ -1,8 +1,8 @@
PCHAR SecureStringCopyAltA(PCHAR String1, LPCSTR String2, SIZE_T Size)
{
PCHAR pChar = String1;
while (Size-- && (*String1++ = *String2++) != '\0');
return pChar;
}
PCHAR SecureStringCopyAltA(PCHAR String1, LPCSTR String2, SIZE_T Size)
{
PCHAR pChar = String1;
while (Size-- && (*String1++ = *String2++) != '\0');
return pChar;
}

View File

@ -1,8 +1,8 @@
PWCHAR SecureStringCopyAltW(PWCHAR String1, LPCWSTR String2, SIZE_T Size)
{
PWCHAR pChar = String1;
while (Size-- && (*String1++ = *String2++) != '\0');
return pChar;
}
PWCHAR SecureStringCopyAltW(PWCHAR String1, LPCWSTR String2, SIZE_T Size)
{
PWCHAR pChar = String1;
while (Size-- && (*String1++ = *String2++) != '\0');
return pChar;
}

View File

@ -1,10 +1,10 @@
INT StringCompareA(LPCSTR String1, LPCSTR String2)
{
for (; *String1 == *String2; String1++, String2++)
{
if (*String1 == '\0')
return 0;
}
return ((*(LPCSTR)String1 < *(LPCSTR)String2) ? -1 : +1);
}
INT StringCompareA(LPCSTR String1, LPCSTR String2)
{
for (; *String1 == *String2; String1++, String2++)
{
if (*String1 == '\0')
return 0;
}
return ((*(LPCSTR)String1 < *(LPCSTR)String2) ? -1 : +1);
}

View File

@ -1,10 +1,10 @@
INT StringCompareW(LPCWSTR String1, LPCWSTR String2)
{
for (; *String1 == *String2; String1++, String2++)
{
if (*String1 == '\0')
return 0;
}
return ((*(LPCWSTR)String1 < *(LPCWSTR)String2) ? -1 : +1);
}
INT StringCompareW(LPCWSTR String1, LPCWSTR String2)
{
for (; *String1 == *String2; String1++, String2++)
{
if (*String1 == '\0')
return 0;
}
return ((*(LPCWSTR)String1 < *(LPCWSTR)String2) ? -1 : +1);
}

View File

@ -1,17 +1,17 @@
INT StringCompareStringRegionA(PCHAR String1, PCHAR String2, SIZE_T Count)
{
UCHAR Block1, Block2;
while (Count-- > 0)
{
Block1 = (UCHAR)*String1++;
Block2 = (UCHAR)*String2++;
if (Block1 != Block2)
return Block1 - Block2;
if (Block1 == '\0')
return 0;
}
return 0;
INT StringCompareStringRegionA(PCHAR String1, PCHAR String2, SIZE_T Count)
{
UCHAR Block1, Block2;
while (Count-- > 0)
{
Block1 = (UCHAR)*String1++;
Block2 = (UCHAR)*String2++;
if (Block1 != Block2)
return Block1 - Block2;
if (Block1 == '\0')
return 0;
}
return 0;
}

View File

@ -1,17 +1,17 @@
INT StringCompareStringRegionW(PWCHAR String1, PWCHAR String2, SIZE_T Count)
{
UCHAR Block1, Block2;
while (Count-- > 0)
{
Block1 = (UCHAR)*String1++;
Block2 = (UCHAR)*String2++;
if (Block1 != Block2)
return Block1 - Block2;
if (Block1 == '\0')
return 0;
}
return 0;
}
INT StringCompareStringRegionW(PWCHAR String1, PWCHAR String2, SIZE_T Count)
{
UCHAR Block1, Block2;
while (Count-- > 0)
{
Block1 = (UCHAR)*String1++;
Block2 = (UCHAR)*String2++;
if (Block1 != Block2)
return Block1 - Block2;
if (Block1 == '\0')
return 0;
}
return 0;
}

View File

@ -1,24 +1,24 @@
SIZE_T StringLengthA(LPCSTR String)
{
LPCSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
PCHAR StringCopyA(PCHAR String1, PCHAR String2)
{
PCHAR p = String1;
while ((*p++ = *String2++) != 0);
return String1;
}
PCHAR StringConcatA(PCHAR String, PCHAR String2)
{
StringCopyA(&String[StringLengthA(String)], String2);
return String;
}
SIZE_T StringLengthA(LPCSTR String)
{
LPCSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
PCHAR StringCopyA(PCHAR String1, PCHAR String2)
{
PCHAR p = String1;
while ((*p++ = *String2++) != 0);
return String1;
}
PCHAR StringConcatA(PCHAR String, PCHAR String2)
{
StringCopyA(&String[StringLengthA(String)], String2);
return String;
}

View File

@ -1,24 +1,24 @@
SIZE_T StringLengthW(LPCWSTR String)
{
LPCWSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
PWCHAR StringCopyW(PWCHAR String1, PWCHAR String2)
{
PWCHAR p = String1;
while ((*p++ = *String2++) != 0);
return String1;
}
PWCHAR StringConcatW(PWCHAR String, PWCHAR String2)
{
StringCopyW(&String[StringLength(String)], String2);
return String;
}
SIZE_T StringLengthW(LPCWSTR String)
{
LPCWSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
PWCHAR StringCopyW(PWCHAR String1, PWCHAR String2)
{
PWCHAR p = String1;
while ((*p++ = *String2++) != 0);
return String1;
}
PWCHAR StringConcatW(PWCHAR String, PWCHAR String2)
{
StringCopyW(&String[StringLength(String)], String2);
return String;
}

View File

@ -1,8 +1,8 @@
PCHAR StringCopyA(PCHAR String1, PCHAR String2)
{
PCHAR p = String1;
while ((*p++ = *String2++) != 0);
return String1;
}
PCHAR StringCopyA(PCHAR String1, PCHAR String2)
{
PCHAR p = String1;
while ((*p++ = *String2++) != 0);
return String1;
}

View File

@ -1,8 +1,8 @@
PWCHAR StringCopyW(PWCHAR String1, PWCHAR String2)
{
PWCHAR p = String1;
while ((*p++ = *String2++) != 0);
return String1;
}
PWCHAR StringCopyW(PWCHAR String1, PWCHAR String2)
{
PWCHAR p = String1;
while ((*p++ = *String2++) != 0);
return String1;
}

View File

@ -1,52 +1,52 @@
SIZE_T StringLengthA(LPCSTR String)
{
LPCSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
PCHAR StringLocateCharA(PCHAR String, INT Character)
{
do
{
if (*String == Character)
return (PCHAR)String;
} while (*String++);
return NULL;
}
INT StringCompareStringRegionA(PCHAR String1, PCHAR String2, SIZE_T Count)
{
UCHAR Block1, Block2;
while (Count-- > 0)
{
Block1 = (UCHAR)*String1++;
Block2 = (UCHAR)*String2++;
if (Block1 != Block2)
return Block1 - Block2;
if (Block1 == '\0')
return 0;
}
return 0;
}
PCHAR StringFindSubstringA(PCHAR String1, PCHAR String2)
{
PCHAR pPointer = String1;
DWORD Length = (DWORD)StringLengthA(String2);
for (; (pPointer = StringLocateCharA(pPointer, *String2)) != 0; pPointer++)
{
if (StringCompareStringRegionA(pPointer, String2, Length) == 0)
return (PCHAR)pPointer;
}
return NULL;
SIZE_T StringLengthA(LPCSTR String)
{
LPCSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
PCHAR StringLocateCharA(PCHAR String, INT Character)
{
do
{
if (*String == Character)
return (PCHAR)String;
} while (*String++);
return NULL;
}
INT StringCompareStringRegionA(PCHAR String1, PCHAR String2, SIZE_T Count)
{
UCHAR Block1, Block2;
while (Count-- > 0)
{
Block1 = (UCHAR)*String1++;
Block2 = (UCHAR)*String2++;
if (Block1 != Block2)
return Block1 - Block2;
if (Block1 == '\0')
return 0;
}
return 0;
}
PCHAR StringFindSubstringA(PCHAR String1, PCHAR String2)
{
PCHAR pPointer = String1;
DWORD Length = (DWORD)StringLengthA(String2);
for (; (pPointer = StringLocateCharA(pPointer, *String2)) != 0; pPointer++)
{
if (StringCompareStringRegionA(pPointer, String2, Length) == 0)
return (PCHAR)pPointer;
}
return NULL;
}

View File

@ -1,52 +1,52 @@
SIZE_T StringLengthW(LPCWSTR String)
{
LPCWSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
PWCHAR StringLocateCharW(PWCHAR String, INT Character)
{
do
{
if (*String == Character)
return (PWCHAR)String;
} while (*String++);
return NULL;
}
INT StringCompareStringRegionW(PWCHAR String1, PWCHAR String2, SIZE_T Count)
{
UCHAR Block1, Block2;
while (Count-- > 0)
{
Block1 = (UCHAR)*String1++;
Block2 = (UCHAR)*String2++;
if (Block1 != Block2)
return Block1 - Block2;
if (Block1 == '\0')
return 0;
}
return 0;
}
PWCHAR StringFindSubstringW(PWCHAR String1, PWCHAR String2)
{
PWCHAR pPointer = String1;
DWORD Length = (DWORD)StringLengthW(String2);
for (; (pPointer = StringLocateCharW(pPointer, *String2)) != 0; pPointer++)
{
if (StringCompareStringRegionW(pPointer, String2, Length) == 0)
return (PWCHAR)pPointer;
}
return NULL;
SIZE_T StringLengthW(LPCWSTR String)
{
LPCWSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
PWCHAR StringLocateCharW(PWCHAR String, INT Character)
{
do
{
if (*String == Character)
return (PWCHAR)String;
} while (*String++);
return NULL;
}
INT StringCompareStringRegionW(PWCHAR String1, PWCHAR String2, SIZE_T Count)
{
UCHAR Block1, Block2;
while (Count-- > 0)
{
Block1 = (UCHAR)*String1++;
Block2 = (UCHAR)*String2++;
if (Block1 != Block2)
return Block1 - Block2;
if (Block1 == '\0')
return 0;
}
return 0;
}
PWCHAR StringFindSubstringW(PWCHAR String1, PWCHAR String2)
{
PWCHAR pPointer = String1;
DWORD Length = (DWORD)StringLengthW(String2);
for (; (pPointer = StringLocateCharW(pPointer, *String2)) != 0; pPointer++)
{
if (StringCompareStringRegionW(pPointer, String2, Length) == 0)
return (PWCHAR)pPointer;
}
return NULL;
}

View File

@ -1,8 +1,8 @@
SIZE_T StringLengthA(LPCSTR String)
{
LPCSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
SIZE_T StringLengthA(LPCSTR String)
{
LPCSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}

View File

@ -1,9 +1,9 @@
SIZE_T StringLengthW(LPCWSTR String)
{
LPCWSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
SIZE_T StringLengthW(LPCWSTR String)
{
LPCWSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}

View File

@ -1,11 +1,11 @@
PCHAR StringLocateCharA(PCHAR String, INT Character)
{
do
{
if (*String == Character)
return (PCHAR)String;
} while (*String++);
return NULL;
}
PCHAR StringLocateCharA(PCHAR String, INT Character)
{
do
{
if (*String == Character)
return (PCHAR)String;
} while (*String++);
return NULL;
}

View File

@ -1,11 +1,11 @@
PWCHAR StringLocateCharW(PWCHAR String, INT Character)
{
do
{
if (*String == Character)
return (PWCHAR)String;
} while (*String++);
return NULL;
PWCHAR StringLocateCharW(PWCHAR String, INT Character)
{
do
{
if (*String == Character)
return (PWCHAR)String;
} while (*String++);
return NULL;
}

View File

@ -1,13 +1,13 @@
PCHAR StringRemoveSubstringA(PCHAR String, CONST PCHAR Substring)
{
DWORD Length = (DWORD)StringLengthA(Substring);
PCHAR pPointer = String;
if (Length == 0)
return NULL;
while ((pPointer = StringFindSubstringA(pPointer, Substring)) != NULL)
MoveMemory(pPointer, pPointer + Length, StringLengthA(pPointer + Length) + 1);
return String;
}
PCHAR StringRemoveSubstringA(PCHAR String, CONST PCHAR Substring)
{
DWORD Length = (DWORD)StringLengthA(Substring);
PCHAR pPointer = String;
if (Length == 0)
return NULL;
while ((pPointer = StringFindSubstringA(pPointer, Substring)) != NULL)
MoveMemory(pPointer, pPointer + Length, StringLengthA(pPointer + Length) + 1);
return String;
}

View File

@ -1,13 +1,13 @@
PWCHAR StringRemoveSubstringW(PWCHAR String, CONST PWCHAR Substring)
{
DWORD Length = (DWORD)StringLengthW(Substring);
PWCHAR pPointer = String;
if (Length == 0)
return NULL;
while ((pPointer = StringFindSubstringW(pPointer, Substring)) != NULL)
MoveMemory(pPointer, pPointer + Length, StringLengthW(pPointer + Length) + 1);
return String;
PWCHAR StringRemoveSubstringW(PWCHAR String, CONST PWCHAR Substring)
{
DWORD Length = (DWORD)StringLengthW(Substring);
PWCHAR pPointer = String;
if (Length == 0)
return NULL;
while ((pPointer = StringFindSubstringW(pPointer, Substring)) != NULL)
MoveMemory(pPointer, pPointer + Length, StringLengthW(pPointer + Length) + 1);
return String;
}

View File

@ -1,16 +1,16 @@
PCHAR StringTerminateStringAtCharA(PCHAR String, INT Character)
{
DWORD Length = (DWORD)StringLengthA(String);
for (DWORD Index = 0; Index < Length; Index++)
{
if (String[Index] == Character)
{
String[Index] = '\0';
return String;
}
}
return NULL;
}
PCHAR StringTerminateStringAtCharA(PCHAR String, INT Character)
{
DWORD Length = (DWORD)StringLengthA(String);
for (DWORD Index = 0; Index < Length; Index++)
{
if (String[Index] == Character)
{
String[Index] = '\0';
return String;
}
}
return NULL;
}

View File

@ -1,15 +1,15 @@
PWCHAR StringTerminateStringAtCharW(PWCHAR String, INT Character)
{
DWORD Length = (DWORD)StringLengthW(String);
for (DWORD Index = 0; Index < Length; Index++)
{
if (String[Index] == Character)
{
String[Index] = '\0';
return String;
}
}
return NULL;
PWCHAR StringTerminateStringAtCharW(PWCHAR String, INT Character)
{
DWORD Length = (DWORD)StringLengthW(String);
for (DWORD Index = 0; Index < Length; Index++)
{
if (String[Index] == Character)
{
String[Index] = '\0';
return String;
}
}
return NULL;
}

View File

@ -1,46 +1,46 @@
PCHAR StringTokenA(PCHAR String, CONST PCHAR Delim)
{
PCHAR Last;
PCHAR SpanP, Token;
INT C, SC;
if (String == NULL)
return NULL;
CONTINUE:
C = *String++;
for (SpanP = (PCHAR)Delim; (SC = *SpanP++) != ERROR_SUCCESS;)
{
if (C == SC)
goto CONTINUE;
}
if (C == ERROR_SUCCESS) { Last = NULL; return NULL; }
Token = String - 1;
for (;;)
{
C = *String++;
SpanP = (PCHAR)Delim;
do {
if ((SC = *SpanP++) == C)
{
if (C == ERROR_SUCCESS)
String = NULL;
else
String[-1] = '\0';
Last = String;
return Token;
}
} while (SC != ERROR_SUCCESS);
}
return NULL;
}
PCHAR StringTokenA(PCHAR String, CONST PCHAR Delim)
{
PCHAR Last;
PCHAR SpanP, Token;
INT C, SC;
if (String == NULL)
return NULL;
CONTINUE:
C = *String++;
for (SpanP = (PCHAR)Delim; (SC = *SpanP++) != ERROR_SUCCESS;)
{
if (C == SC)
goto CONTINUE;
}
if (C == ERROR_SUCCESS) { Last = NULL; return NULL; }
Token = String - 1;
for (;;)
{
C = *String++;
SpanP = (PCHAR)Delim;
do {
if ((SC = *SpanP++) == C)
{
if (C == ERROR_SUCCESS)
String = NULL;
else
String[-1] = '\0';
Last = String;
return Token;
}
} while (SC != ERROR_SUCCESS);
}
return NULL;
}

View File

@ -1,45 +1,45 @@
PWCHAR StringTokenW(PWCHAR String, CONST PWCHAR Delim)
{
PWCHAR Last;
PWCHAR SpanP, Token;
INT C, SC;
if (String == NULL)
return NULL;
CONTINUE:
C = *String++;
for (SpanP = (PWCHAR)Delim; (SC = *SpanP++) != ERROR_SUCCESS;)
{
if (C == SC)
goto CONTINUE;
}
if (C == ERROR_SUCCESS) { Last = NULL; return NULL; }
Token = String - 1;
for (;;)
{
C = *String++;
SpanP = (PWCHAR)Delim;
do {
if ((SC = *SpanP++) == C)
{
if (C == ERROR_SUCCESS)
String = NULL;
else
String[-1] = '\0';
Last = String;
return Token;
}
} while (SC != ERROR_SUCCESS);
}
return NULL;
}
PWCHAR StringTokenW(PWCHAR String, CONST PWCHAR Delim)
{
PWCHAR Last;
PWCHAR SpanP, Token;
INT C, SC;
if (String == NULL)
return NULL;
CONTINUE:
C = *String++;
for (SpanP = (PWCHAR)Delim; (SC = *SpanP++) != ERROR_SUCCESS;)
{
if (C == SC)
goto CONTINUE;
}
if (C == ERROR_SUCCESS) { Last = NULL; return NULL; }
Token = String - 1;
for (;;)
{
C = *String++;
SpanP = (PWCHAR)Delim;
do {
if ((SC = *SpanP++) == C)
{
if (C == ERROR_SUCCESS)
String = NULL;
else
String[-1] = '\0';
Last = String;
return Token;
}
} while (SC != ERROR_SUCCESS);
}
return NULL;
}

View File

@ -1,34 +1,34 @@
#include <windows.h>
SIZE_T StringLengthW(LPCWSTR String)
{
LPCWSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
SIZE_T WCharStringToCharString(PCHAR Destination, PWCHAR Source, SIZE_T MaximumAllowed)
{
INT Length = MaximumAllowed;
while (--Length >= 0)
{
if (!(*Destination++ = *Source++))
return MaximumAllowed - Length - 1;
}
return MaximumAllowed - Length;
}
INT main(VOID)
{
CHAR Path[MAX_PATH] = { 0 };
WCHAR CharPath[MAX_PATH * sizeof(WCHAR)] = L"\\Users\\Tmp\\Desktop\\";
if(WCharStringToCharString(&Path, CharPath, StringLengthW(CharPath)) == 0)
return 1;
return ERROR_SUCCESS;
}
#include <windows.h>
SIZE_T StringLengthW(LPCWSTR String)
{
LPCWSTR String2;
for (String2 = String; *String2; ++String2);
return (String2 - String);
}
SIZE_T WCharStringToCharString(PCHAR Destination, PWCHAR Source, SIZE_T MaximumAllowed)
{
INT Length = MaximumAllowed;
while (--Length >= 0)
{
if (!(*Destination++ = *Source++))
return MaximumAllowed - Length - 1;
}
return MaximumAllowed - Length;
}
INT main(VOID)
{
CHAR Path[MAX_PATH] = { 0 };
WCHAR CharPath[MAX_PATH * sizeof(WCHAR)] = L"\\Users\\Tmp\\Desktop\\";
if(WCharStringToCharString(&Path, CharPath, StringLengthW(CharPath)) == 0)
return 1;
return ERROR_SUCCESS;
}

View File

@ -1,14 +1,14 @@
VOID ZeroMemory(PVOID Destination, SIZE_T Size)
{
PULONG Dest = (PULONG)Destination;
SIZE_T Count = Size / sizeof(ULONG);
while (Count > 0)
{
*Dest = 0;
Dest++;
Count--;
}
return;
}
VOID ZeroMemory(PVOID Destination, SIZE_T Size)
{
PULONG Dest = (PULONG)Destination;
SIZE_T Count = Size / sizeof(ULONG);
while (Count > 0)
{
*Dest = 0;
Dest++;
Count--;
}
return;
}