До сих пор переезжаю на PHP7, перенося некоторые расширения.
В одном имеется такой код:
if ((zend_hash_update (&module_registry, module_entry->name, strlen(module_entry->name), tmp)) == NULL)
На этот аргумент module_entry->name
он ругается так:
аргумент типа "const char *" несовместим с параметром типа "zval *"
Сам module_entry имеет тип zend_module_entry *
Ну ладно, думаю, переназначу его как (size_t) module_entry->name, однако при этом он ругается как
аргумент типа "size_t" несовместим с параметром типа "zend_string *"
Как же это не совместим, если я сую ему что ему надо, а он требует уже другое? Или это я уже устал?)
P. S. Из каких-то сорцов выдрал такую вот функцию:
zend_string *str = zval_get_string (module_entry->name);
Но она принимает только zval * в качестве аргумента, да и проблему не решает...
Сборка персонального компьютера от Artline: умный выбор для современных пользователей