123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #include "Stream.h"
- int streamGetChar(char* c, Stream* in)
- {
- if(in->index < in->size)
- {
- *c = in->data[in->index];
- in->index++;
- return 0;
- }
- return -1;
- }
- int streamGetShort(short* s, Stream* in)
- {
- if(in->index + 1 < in->size)
- {
- *s = (in->data[in->index] & 0xFF) | ((in->data[in->index + 1] & 0xFF) << 8);
- in->index += 2;
- return 0;
- }
- return -1;
- }
- int streamGetInt(int* i, Stream* in)
- {
- if(in->index + 3 < in->size)
- {
- *i = (in->data[in->index] & 0xFF) | ((in->data[in->index + 1] & 0xFF) << 8) |
- ((in->data[in->index + 2] & 0xFF) << 16) | ((in->data[in->index + 3] & 0xFF) << 24);
- in->index += 4;
- return 0;
- }
- return -1;
- }
- int streamWriteChar(char c, Stream* in)
- {
- if(in->index < in->size)
- {
- in->data[in->index] = c;
- in->index++;
- return 0;
- }
- return -1;
- }
- int streamWriteShort(short s, Stream* in)
- {
- if(in->index + 1 < in->size)
- {
- in->data[in->index] = s & 0xFF;
- in->data[in->index + 1] = (s >> 8) & 0xFF;
- in->index += 2;
- return 0;
- }
- return -1;
- }
- int streamWriteInt(int i, Stream* in)
- {
- if(in->index + 3 < in->size)
- {
- in->data[in->index] = i & 0xFF;
- in->data[in->index + 1] = (i >> 8) & 0xFF;
- in->data[in->index + 2] = (i >> 16) & 0xFF;
- in->data[in->index + 3] = (i >> 24) & 0xFF;
- in->index += 4;
- return 0;
- }
- return -1;
- }
|