INNER CODE UNIT · C
sodium_separate_string
jedisct1/libsodium-php · libsodium.c:289
static void sodium_separate_string(zval *zv) {
ZEND_ASSERT(Z_TYPE_P(zv) == IS_STRING);
if (!Z_REFCOUNTED_P(zv) || Z_REFCOUNT_P(zv) > 1) {
zend_string *copy = zend_string_init(Z_STRVAL_P(zv), Z_STRLEN_P(zv), 0);
Z_TRY_DELREF_P(zv);
ZVAL_STR(zv, copy);
}
}
PHP_MINIT_FUNCTION(sodium)
{
zend_class_entry ce;
if (sodium_init() < 0) {
zend_error(E_ERROR, "sodium_init()");
}
INIT_CLASS_ENTRY(ce, "SodiumException", NULL);