added functions for parsing int32->blob and vice versa

This commit is contained in:
kamilprzyb
2020-09-15 00:13:02 +02:00
parent 4e32663cab
commit 293cd5d32f
2 changed files with 19 additions and 0 deletions

View File

@@ -535,6 +535,13 @@ void Database::appendBlob(std::vector<char> *blob, int64_t input) {
}
}
void Database::appendBlob(std::vector<char>* blob, int32_t input) {
for (int i = 0; i < 4; i++) {
char toadd = (input >> (8 * (3 - i)));
blob->push_back(toadd);
}
}
int64_t Database::blobToInt64(std::vector<char>::iterator it) {
int64_t result = 0;
for (int i = 0; i < 8; i++) {
@@ -545,4 +552,14 @@ int64_t Database::blobToInt64(std::vector<char>::iterator it) {
return result;
}
int32_t blobToInt32(std::vector<char>::iterator it) {
int32_t result = 0;
for (int i = 0; i < 4; i++) {
int32_t toAdd = ((int32_t)*it << (8 * (3 - i)));
result += toAdd;
it++;
}
return result;
}
#pragma endregion parsingBlobs

View File

@@ -113,5 +113,7 @@ namespace Database {
//parsing blobs
void appendBlob(std::vector<char>*blob, int64_t input);
void appendBlob(std::vector<char>* blob, int32_t input);
int64_t blobToInt64(std::vector<char>::iterator it);
int32_t blobToInt32(std::vector<char>::iterator it);
}