.Dd January 24, 2024 .Dt SQLITE3_VALUE_DUP 3 .Os .Sh NAME .Nm sqlite3_value_dup , .Nm sqlite3_value_free .Nd copy and free SQL values .Sh SYNOPSIS .In sqlite3.h .Ft sqlite3_value * .Fo sqlite3_value_dup .Fa "const sqlite3_value*" .Fc .Ft void .Fo sqlite3_value_free .Fa "sqlite3_value*" .Fc .Sh DESCRIPTION The sqlite3_value_dup(V) interface makes a copy of the sqlite3_value object D and returns a pointer to that copy. The sqlite3_value returned is a protected sqlite3_value object even if the input is not. The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a memory allocation fails. If V is a pointer value, then the result of sqlite3_value_dup(V) is a NULL value. .Pp The sqlite3_value_free(V) interface frees an sqlite3_value object previously obtained from .Fn sqlite3_value_dup . If V is a NULL pointer then sqlite3_value_free(V) is a harmless no-op. .Sh IMPLEMENTATION NOTES These declarations were extracted from the interface documentation at line 5813. .Bd -literal SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value*); SQLITE_API void sqlite3_value_free(sqlite3_value*); .Ed .Sh SEE ALSO .Xr sqlite3_value 3