Skip to content

Commit 87aded5

Browse files
committed
fix some code
1 parent b116d6c commit 87aded5

2 files changed

Lines changed: 16 additions & 25 deletions

File tree

src/c_api/c_api.cc

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -142,38 +142,31 @@ ZVecString *zvec_string_create(const char *str) {
142142
__FUNCTION__);
143143
return nullptr;
144144
}
145-
146145
ZVecString *zstr = nullptr;
147146
char *data_buffer = nullptr;
148-
149147
try {
150148
size_t len = strlen(str);
151149
zstr = new ZVecString();
152-
data_buffer = new char[len + 1];
153-
strcpy(const_cast<char *>(data_buffer), str);
154-
150+
data_buffer = static_cast<char*>(malloc(len + 1));
151+
strcpy(data_buffer, str);
155152
zstr->data = data_buffer;
156153
zstr->length = len;
157154
zstr->capacity = len + 1;
158-
159155
return zstr;
160-
161156
} catch (const std::exception &e) {
162157
if (data_buffer) {
163-
delete[] data_buffer;
158+
free(data_buffer);
164159
}
165160
if (zstr) {
166161
delete zstr;
167162
}
168-
169163
set_last_error_details(ZVEC_ERROR_INTERNAL_ERROR,
170164
std::string("String creation failed: ") + e.what(),
171165
__FILE__, __LINE__, __FUNCTION__);
172166
return nullptr;
173167
}
174168
}
175169

176-
177170
ZVecString *zvec_string_create_from_view(const ZVecStringView *view) {
178171
if (!view || !view->data) {
179172
set_last_error_details(ZVEC_ERROR_INVALID_ARGUMENT,
@@ -651,8 +644,7 @@ static ZVecErrorCode handle_expected_result(
651644
// Helper function: copy strings
652645
static char *copy_string(const std::string &str) {
653646
if (str.empty()) return nullptr;
654-
655-
char *copy = new char[str.length() + 1];
647+
char *copy = static_cast<char*>(malloc(str.length() + 1));
656648
strcpy(copy, str.c_str());
657649
return copy;
658650
}
@@ -2903,7 +2895,7 @@ const char *zvec_doc_get_pk_copy(const ZVecDoc *doc) {
29032895
const std::string &pk = (*doc_ptr)->pk_ref();
29042896
if (pk.empty()) return nullptr;
29052897

2906-
char *result = new char[pk.length() + 1];
2898+
char *result = static_cast<char*>(malloc(pk.length() + 1));
29072899
strcpy(result, pk.c_str());
29082900
return result;
29092901
}

src/include/zvec/c_api.h

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2469,11 +2469,11 @@ ZVEC_EXPORT void ZVEC_CALL zvec_free_uint8_array(uint8_t *array);
24692469
* Usage example:
24702470
* ZVecCollectionOptions opts = ZVEC_DEFAULT_OPTIONS();
24712471
*/
2472-
#define ZVEC_DEFAULT_OPTIONS() \
2473-
(ZVecCollectionOptions){.enable_mmap = true, \
2474-
.max_buffer_size = 1048576, \
2475-
.read_only = false, \
2476-
.max_doc_count_per_segment = 1000000}
2472+
#define ZVEC_DEFAULT_OPTIONS() \
2473+
(ZVecCollectionOptions) { \
2474+
.enable_mmap = true, .max_buffer_size = 1048576, .read_only = false, \
2475+
.max_doc_count_per_segment = 1000000 \
2476+
}
24772477

24782478
/**
24792479
* @brief Simplified vector query initialization macro
@@ -2486,13 +2486,12 @@ ZVEC_EXPORT void ZVEC_CALL zvec_free_uint8_array(uint8_t *array);
24862486
* ZVecVectorQuery query = ZVEC_VECTOR_QUERY("embedding", query_vectors, 10,
24872487
* "");
24882488
*/
2489-
#define ZVEC_VECTOR_QUERY(field_name_str, query_vec, top_k, filter_str) \
2490-
(ZVecVectorQuery){.field_name = ZVEC_STRING(field_name_str), \
2491-
.query_vector = query_vec, \
2492-
.topk = top_k, \
2493-
.filter = ZVEC_STRING(filter_str), \
2494-
.include_vector = 1, \
2495-
.include_doc_id = 1}
2489+
#define ZVEC_VECTOR_QUERY(field_name_str, query_vec, top_k, filter_str) \
2490+
(ZVecVectorQuery) { \
2491+
.field_name = ZVEC_STRING(field_name_str), .query_vector = query_vec, \
2492+
.topk = top_k, .filter = ZVEC_STRING(filter_str), .include_vector = 1, \
2493+
.include_doc_id = 1 \
2494+
}
24962495

24972496
/**
24982497
* @brief Simplified document field initialization macro

0 commit comments

Comments
 (0)