We must not check uninitialized values (i.e. `c.value`), and we have to use proper types for printf-style formats (i.e. `char *` instead of `zend_string *`).