2025-12-30 21:14:13 +00:00

45 lines
1.7 KiB
Diff

Patch-Source: https://github.com/runkit7/runkit7/pull/276
From f26e9fe323cf1b551abccb654a16f2ab8bc768fa Mon Sep 17 00:00:00 2001
From: Marcos Fadul <marcos.fadul@digistore24.team>
Date: Tue, 24 Jun 2025 13:42:43 +0200
Subject: [PATCH] Update code for php 8.4
---
.github/workflows/main.yml | 4 ++++
runkit_classes.c | 4 ++++
runkit_props.c | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/runkit_classes.c b/runkit_classes.c
index f388c5be..f86b4ea9 100644
--- a/runkit_classes.c
+++ b/runkit_classes.c
@@ -206,7 +206,11 @@ int php_runkit_class_copy(zend_class_entry *src, zend_string *classname)
new_class_entry->parent = parent;
new_class_entry->info.user.filename = src->info.user.filename;
new_class_entry->info.user.line_start = src->info.user.line_start;
+#if PHP_VERSION_ID >= 80400
+ new_class_entry->doc_comment = src->doc_comment;
+#else
new_class_entry->info.user.doc_comment = src->info.user.doc_comment;
+#endif
new_class_entry->info.user.line_end = src->info.user.line_end;
new_class_entry->num_traits = src->num_traits;
#if PHP_VERSION_ID >= 70400
diff --git a/runkit_props.c b/runkit_props.c
index c1a34103..c1e9c31c 100644
--- a/runkit_props.c
+++ b/runkit_props.c
@@ -36,7 +36,11 @@ static inline void php_runkit_make_object_property_public(zend_string *propname,
zval *prop_val = NULL;
if (!object->properties) {
prop_val = &object->properties_table[offset];
+ #if PHP_VERSION_ID >= 80400
+ rebuild_object_properties_internal(object);
+ #else
rebuild_object_properties(object);
+ #endif
} else if (!Z_ISUNDEF(object->properties_table[offset])) {
// TODO: Is Z_ISUNDEF the correct thing to do?
prop_val = &object->properties_table[offset];