more code
This commit is contained in:
parent
a4e00227c5
commit
89e493b56b
|
@ -23,7 +23,6 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
typedef struct SBuffer SBuffer;
|
||||
typedef struct SBufferWriter SBufferWriter;
|
||||
typedef struct SBufferReader SBufferReader;
|
||||
|
||||
// SBuffer
|
||||
|
@ -52,11 +51,11 @@ static int32_t tBufferPutCStr(SBuffer *buffer, const char *str);
|
|||
static int32_t tBufferPutF32(SBuffer *buffer, float value);
|
||||
static int32_t tBufferPutF64(SBuffer *buffer, double value);
|
||||
|
||||
#define tBufferGetSize(buffer) ((buffer)->size)
|
||||
#define tBufferGetCapacity(buffer) ((buffer)->capacity)
|
||||
#define tBufferGetData(buffer) ((buffer)->data)
|
||||
#define tBufferGetDataAt(buffer, idx) ((char *)(buffer)->data + (idx))
|
||||
#define tBufferGetDataEnd(buffer) ((char *)(buffer)->data + (buffer)->size)
|
||||
#define tBufferGetSize(buffer) ((buffer)->size)
|
||||
#define tBufferGetCapacity(buffer) ((buffer)->capacity)
|
||||
#define tBufferGetData(buffer) ((buffer)->data)
|
||||
#define tBufferGetDataAt(buffer, offset) ((char *)(buffer)->data + (offset))
|
||||
#define tBufferGetDataEnd(buffer) ((char *)(buffer)->data + (buffer)->size)
|
||||
|
||||
// SBufferReader
|
||||
#define BUFFER_READER_INITIALIZER(offset, buffer) ((SBufferReader){offset, buffer})
|
||||
|
|
|
@ -22,12 +22,6 @@ struct SBuffer {
|
|||
void *data;
|
||||
};
|
||||
|
||||
struct SBufferWriter {
|
||||
bool forward;
|
||||
uint32_t offset;
|
||||
SBuffer *buffer;
|
||||
};
|
||||
|
||||
struct SBufferReader {
|
||||
uint32_t offset;
|
||||
SBuffer *buffer;
|
||||
|
@ -175,7 +169,9 @@ static FORCE_INLINE int32_t tBufferGet(SBufferReader *reader, uint32_t size, voi
|
|||
if (reader->offset < 0 || reader->offset + size > reader->buffer->size) {
|
||||
return TSDB_CODE_OUT_OF_RANGE;
|
||||
}
|
||||
memcpy(data, (char *)reader->buffer->data + reader->offset, size);
|
||||
if (data) {
|
||||
memcpy(data, BR_PTR(reader), size);
|
||||
}
|
||||
reader->offset += size;
|
||||
return 0;
|
||||
}
|
||||
|
@ -209,26 +205,25 @@ static int32_t tBufferGetU64(SBufferReader *reader, uint64_t *value) {
|
|||
}
|
||||
|
||||
static int32_t tBufferGetU64v(SBufferReader *reader, uint64_t *value) {
|
||||
uint8_t byte;
|
||||
int32_t code;
|
||||
|
||||
if (value) {
|
||||
*value = 0;
|
||||
}
|
||||
uint8_t byte;
|
||||
int32_t code;
|
||||
uint64_t u64 = 0;
|
||||
|
||||
for (int32_t i = 0;; i++) {
|
||||
code = tBufferGetU8(reader, &byte);
|
||||
if (code) return code;
|
||||
|
||||
if (value) {
|
||||
*value |= (((uint64_t)(byte & 0x7F)) << (i * 7));
|
||||
}
|
||||
u64 |= (((uint64_t)(byte & 0x7F)) << (i * 7));
|
||||
|
||||
if (byte < 0x80) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (value) {
|
||||
*value = u64;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -299,10 +294,10 @@ static int32_t tBufferGetBinary(SBufferReader *reader, const void **data, uint32
|
|||
return TSDB_CODE_OUT_OF_RANGE;
|
||||
}
|
||||
if (data) {
|
||||
*data = (char *)reader->buffer->data + reader->offset;
|
||||
*data = BR_PTR(reader);
|
||||
}
|
||||
reader->offset += tmpSize;
|
||||
} else {
|
||||
} else if (data) {
|
||||
*data = NULL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue