diff options
Diffstat (limited to 'code/utility.cpp')
-rw-r--r-- | code/utility.cpp | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/code/utility.cpp b/code/utility.cpp deleted file mode 100644 index aa50e9f..0000000 --- a/code/utility.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include "utility.h" - -int VarIntRead(unsigned char *data, size_t &readed) { - readed = 0; - int result = 0; - char read; - do { - read = data[readed]; - int value = (read & 0b01111111); - result |= (value << (7 * readed)); - - readed++; - if (readed > 5) { - throw "VarInt is too big"; - } - } while ((read & 0b10000000) != 0); - - return result; -} - -size_t VarIntWrite(unsigned int value, unsigned char *data) { - size_t len = 0; - do { - unsigned char temp = (unsigned char) (value & 0b01111111); - value >>= 7; - if (value != 0) { - temp |= 0b10000000; - } - data[len] = temp; - len++; - } while (value != 0); - return len; -} - -long long int ReadVarLong(unsigned char *data, int &readed) { - readed = 0; - long long result = 0; - unsigned char read; - do { - read = data[readed]; - long long value = (read & 0b01111111); - result |= (value << (7 * readed)); - - readed++; - if (readed > 10) { - throw "VarLong is too big"; - } - } while ((read & 0b10000000) != 0); - return result; -} - -unsigned char *WriteVarLong(unsigned long long int value, int &len) { - unsigned char *data = new unsigned char[10]; - len = 0; - do { - unsigned char temp = (unsigned char) (value & 0b01111111); - value >>= 7; - if (value != 0) { - temp |= 0b10000000; - } - data[len] = temp; - len++; - } while (value != 0); - - return data; -}
\ No newline at end of file |