more code
This commit is contained in:
parent
a4e00227c5
commit
89e493b56b
|
@ -23,7 +23,6 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct SBuffer SBuffer;
|
typedef struct SBuffer SBuffer;
|
||||||
typedef struct SBufferWriter SBufferWriter;
|
|
||||||
typedef struct SBufferReader SBufferReader;
|
typedef struct SBufferReader SBufferReader;
|
||||||
|
|
||||||
// SBuffer
|
// SBuffer
|
||||||
|
@ -55,7 +54,7 @@ static int32_t tBufferPutF64(SBuffer *buffer, double value);
|
||||||
#define tBufferGetSize(buffer) ((buffer)->size)
|
#define tBufferGetSize(buffer) ((buffer)->size)
|
||||||
#define tBufferGetCapacity(buffer) ((buffer)->capacity)
|
#define tBufferGetCapacity(buffer) ((buffer)->capacity)
|
||||||
#define tBufferGetData(buffer) ((buffer)->data)
|
#define tBufferGetData(buffer) ((buffer)->data)
|
||||||
#define tBufferGetDataAt(buffer, idx) ((char *)(buffer)->data + (idx))
|
#define tBufferGetDataAt(buffer, offset) ((char *)(buffer)->data + (offset))
|
||||||
#define tBufferGetDataEnd(buffer) ((char *)(buffer)->data + (buffer)->size)
|
#define tBufferGetDataEnd(buffer) ((char *)(buffer)->data + (buffer)->size)
|
||||||
|
|
||||||
// SBufferReader
|
// SBufferReader
|
||||||
|
|
|
@ -22,12 +22,6 @@ struct SBuffer {
|
||||||
void *data;
|
void *data;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SBufferWriter {
|
|
||||||
bool forward;
|
|
||||||
uint32_t offset;
|
|
||||||
SBuffer *buffer;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct SBufferReader {
|
struct SBufferReader {
|
||||||
uint32_t offset;
|
uint32_t offset;
|
||||||
SBuffer *buffer;
|
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) {
|
if (reader->offset < 0 || reader->offset + size > reader->buffer->size) {
|
||||||
return TSDB_CODE_OUT_OF_RANGE;
|
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;
|
reader->offset += size;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -211,24 +207,23 @@ static int32_t tBufferGetU64(SBufferReader *reader, uint64_t *value) {
|
||||||
static int32_t tBufferGetU64v(SBufferReader *reader, uint64_t *value) {
|
static int32_t tBufferGetU64v(SBufferReader *reader, uint64_t *value) {
|
||||||
uint8_t byte;
|
uint8_t byte;
|
||||||
int32_t code;
|
int32_t code;
|
||||||
|
uint64_t u64 = 0;
|
||||||
if (value) {
|
|
||||||
*value = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int32_t i = 0;; i++) {
|
for (int32_t i = 0;; i++) {
|
||||||
code = tBufferGetU8(reader, &byte);
|
code = tBufferGetU8(reader, &byte);
|
||||||
if (code) return code;
|
if (code) return code;
|
||||||
|
|
||||||
if (value) {
|
u64 |= (((uint64_t)(byte & 0x7F)) << (i * 7));
|
||||||
*value |= (((uint64_t)(byte & 0x7F)) << (i * 7));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (byte < 0x80) {
|
if (byte < 0x80) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (value) {
|
||||||
|
*value = u64;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -299,10 +294,10 @@ static int32_t tBufferGetBinary(SBufferReader *reader, const void **data, uint32
|
||||||
return TSDB_CODE_OUT_OF_RANGE;
|
return TSDB_CODE_OUT_OF_RANGE;
|
||||||
}
|
}
|
||||||
if (data) {
|
if (data) {
|
||||||
*data = (char *)reader->buffer->data + reader->offset;
|
*data = BR_PTR(reader);
|
||||||
}
|
}
|
||||||
reader->offset += tmpSize;
|
reader->offset += tmpSize;
|
||||||
} else {
|
} else if (data) {
|
||||||
*data = NULL;
|
*data = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue