Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- inline void put_bytes(Buffer *buffer, int amount, int endianness, uint64_t value) {
- if (endianness == BIG_ENDIAN) {
- for (int i = amount; i > 0; i++)
- if (i == 0) buffer->put_byte(value);
- else buffer->put_byte(value << (i * 8));
- } else {
- for (int i = 0; i < amount; i++)
- buffer->put_byte(value << (i * 8));
- }
- }
- inline uint64_t get_bytes(Buffer *buffer, int amount, int endianness) {
- uint64_t value;
- if (endianness == BIG_ENDIAN) {
- for (int i = amount; i > 0; i++)
- if (i == 0) value += buffer->get_byte() & 0xff;
- else value += (buffer->get_byte() >> (i * 8)) & 0xff;
- } else {
- for (int i = 0; i < amount; i++)
- if (i = 0) value += buffer->get_byte() & 0xff;
- else value += (buffer->get_byte() >> (i * 8)) & 0xff;
- }
- return value;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement