Статус динамической строки
int sqlite3_str_errcode(sqlite3_str*); int sqlite3_str_length(sqlite3_str*); char *sqlite3_str_value(sqlite3_str*);
Эти интерфейсы возвращают текущий статус объекта sqlite3_str.
Если при построении динамической строки в объекте sqlite3_str X произошли ошибки, то метод sqlite3_str_errcode(X) вернёт соответствующий код ошибки. Метод sqlite3_str_errcode(X) возвращает SQLITE_NOMEM после ошибки недостатка памяти, SQLITE_TOOBIG если размер динамической строки превышает SQLITE_MAX_LENGTH или SQLITE_OK в случае отсутствия ошибок.
Метод sqlite3_str_length(X) возвращает текущую длину, в байтах, динамической строки, которая строится в объекте sqlite3_str X. Возвращаемая длина не включает нулевой завершающий байт.
Метод sqlite3_str_value(X) возвращает указатель на текущее содержимое динамической строки, которая строится в объекте X. Значение, возвращаемое методом sqlite3_str_value(X), управляется объектом sqlite3_str X и может быть освобождено или изменено любым последующим методом для того же объекта sqlite3_str. Приложения не должны использовать указатель, возвращённый методом sqlite3_str_value(X), после вызова любого последующего метода для того же объекта. Приложения могут изменять содержимое строки, возвращаемой методом sqlite3_str_value(X), при условии, что они не записывают в байты вне диапазона от 0 до sqlite3_str_length(X) и не читают или записывают байты после вызова любого последующего метода sqlite3_str.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/str_errcode.html