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
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})

View File

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