more code

This commit is contained in:
Hongze Cheng 2024-03-06 13:15:43 +08:00
parent a4e00227c5
commit 89e493b56b
2 changed files with 18 additions and 24 deletions

View File

@ -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

View File

@ -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;
} }