Skip to content

Commit 9e56736

Browse files
committed
Sizes for string_view functions
1 parent 64f5f66 commit 9e56736

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

hdr/sqlite_modern_cpp/type_wrapper.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ namespace sqlite {
167167
template<>
168168
struct has_sqlite_type<std::string, SQLITE3_TEXT, void> : std::true_type {};
169169
inline int bind_col_in_db(sqlite3_stmt* stmt, int inx, const STR_REF& val) {
170-
return sqlite3_bind_text(stmt, inx, val.data(), -1, SQLITE_TRANSIENT);
170+
return sqlite3_bind_text(stmt, inx, val.data(), val.length(), SQLITE_TRANSIENT);
171171
}
172172

173173
// Convert char* to string_view to trigger op<<(..., const STR_REF )
@@ -183,13 +183,13 @@ namespace sqlite {
183183
}
184184

185185
inline void store_result_in_db(sqlite3_context* db, const STR_REF& val) {
186-
sqlite3_result_text(db, val.data(), -1, SQLITE_TRANSIENT);
186+
sqlite3_result_text(db, val.data(), val.length(), SQLITE_TRANSIENT);
187187
}
188188
// U16STR_REF
189189
template<>
190190
struct has_sqlite_type<std::u16string, SQLITE3_TEXT, void> : std::true_type {};
191191
inline int bind_col_in_db(sqlite3_stmt* stmt, int inx, const U16STR_REF& val) {
192-
return sqlite3_bind_text16(stmt, inx, val.data(), -1, SQLITE_TRANSIENT);
192+
return sqlite3_bind_text16(stmt, inx, val.data(), sizeof(char16_t) * val.length(), SQLITE_TRANSIENT);
193193
}
194194

195195
// Convert char* to string_view to trigger op<<(..., const STR_REF )
@@ -205,7 +205,7 @@ namespace sqlite {
205205
}
206206

207207
inline void store_result_in_db(sqlite3_context* db, const U16STR_REF& val) {
208-
sqlite3_result_text16(db, val.data(), -1, SQLITE_TRANSIENT);
208+
sqlite3_result_text16(db, val.data(), sizeof(char16_t) * val.length(), SQLITE_TRANSIENT);
209209
}
210210

211211
// Other integer types

0 commit comments

Comments
 (0)