MCPcopy Create free account
hub / github.com/Scobalula/Greyhound / CaptureSingleHash

Function CaptureSingleHash

src/External/CascLib/src/CascFiles.cpp:197–222  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

195}
196
197static const char * CaptureSingleHash(const char * szDataPtr, const char * szDataEnd, LPBYTE HashValue, size_t HashLength)
198{
199 const char * szHashString;
200 size_t HashStringLength = HashLength * 2;
201
202 // Skip all whitespaces
203 while (szDataPtr < szDataEnd && IsWhiteSpace(szDataPtr))
204 szDataPtr++;
205 szHashString = szDataPtr;
206
207 // Count all hash characters
208 for(size_t i = 0; i < HashStringLength; i++)
209 {
210 if(szDataPtr >= szDataEnd || isxdigit(szDataPtr[0]) == 0)
211 return NULL;
212 szDataPtr++;
213 }
214
215 // There must be a separator or end-of-string
216 if(szDataPtr > szDataEnd || IsWhiteSpace(szDataPtr) == false)
217 return NULL;
218
219 // Give the values
220 BinaryFromString(szHashString, HashStringLength, HashValue);
221 return szDataPtr;
222}
223
224static const char * CaptureHashCount(const char * szDataPtr, const char * szDataEnd, size_t * PtrHashCount)
225{

Callers 3

CaptureHashCountFunction · 0.85
LoadHashArrayFunction · 0.85
LoadCKeyEntryFunction · 0.85

Calls 2

IsWhiteSpaceFunction · 0.85
BinaryFromStringFunction · 0.85

Tested by

no test coverage detected