@@ -32,7 +32,7 @@ interface
32
32
const
33
33
PHPWin =
34
34
{ $IFDEF PHP_DEBUG}
35
- { $IFDEF PHP700 }
35
+ { $IFDEF PHP7 }
36
36
' php7phpdbg.dll'
37
37
{ $ELSE}
38
38
{ $IFDEF PHP5}
@@ -43,7 +43,7 @@ interface
43
43
{ $ENDIF}
44
44
{ $ELSE}
45
45
{ $IFDEF PHP5}
46
- { $IFDEF PHP700 }
46
+ { $IFDEF PHP7 }
47
47
{ $IFDEF LINUX}
48
48
' php7ts.so'
49
49
{ $ENDIF}
@@ -86,10 +86,10 @@ function ZENDLoaded: boolean;
86
86
87
87
{ Memory management functions}
88
88
var
89
- { $IFDEF PHP700}
90
- zend_strndup : function(const s: PChar; length: integer): PChar; cdecl;
91
- { $ELSE}
89
+ { $IFNDEF PHP7}
92
90
zend_strndup : function(s: PAnsiChar; length: Integer): PAnsiChar; cdecl;
91
+ { $ELSE}
92
+ zend_strndup : function(s:PAnsiChar; length:size_t):PAnsiChar; cdecl;
93
93
{ $ENDIF}
94
94
_emalloc : function(size: size_t; __zend_filename: PAnsiChar; __zend_lineno: uint; __zend_orig_filename: PAnsiChar; __zend_orig_line_no: uint): pointer; cdecl;
95
95
_efree : procedure(ptr: pointer; __zend_filename: PAnsiChar; __zend_lineno: uint; __zend_orig_filename: PAnsiChar; __zend_orig_line_no: uint); cdecl;
@@ -119,9 +119,9 @@ function STR_EMPTY_ALLOC : PAnsiChar;
119
119
var
120
120
121
121
zend_register_resource : function (rsrc_result : pzval; rsrc_pointer : pointer; rsrc_type : integer) : integer; cdecl;
122
- zend_fetch_resource : function (passed_id : ppzval; TSRMLS_DC : pointer; default_id : integer; resource_type_name : PAnsiChar; found_resource_type : pointer; num_resource_types: integer; resource_type: integer) : pointer; cdecl;
122
+ zend_fetch_resource : function (passed_id :{ $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } ; TSRMLS_DC : pointer; default_id : integer; resource_type_name : PAnsiChar; found_resource_type : pointer; num_resource_types: integer; resource_type: integer) : pointer; cdecl;
123
123
zend_list_insert : function (ptr : pointer; _type: integer) : integer; cdecl;
124
- { $IFNDEF PHP700 }
124
+ { $IFNDEF PHP7 }
125
125
_zend_list_addref : function (id : integer; TSRMLS_DC : pointer) : integer; cdecl;
126
126
_zend_list_delete : function (id : integer; TSRMLS_DC : pointer) : integer; cdecl;
127
127
_zend_list_find : function (id : integer; _type : pointer; TSRMLS_DC : pointer) : pointer; cdecl;
@@ -536,14 +536,16 @@ procedure convert_to_string(op: pzval);
536
536
zend_indent : procedure; cdecl;
537
537
538
538
ZendGetParameters : function: integer; cdecl;
539
- zend_get_params_ex : function(param_count : Integer; Args : ppzval) :integer; cdecl varargs;
539
+ zend_get_params_ex : function(param_count : Integer; Args : { $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } ) :integer; cdecl varargs;
540
540
function zend_get_parameters_ex (number: integer; var Params: pzval_array): integer;
541
541
function zend_get_parameters_my (number: integer; var Params: pzval_array; TSRMLS_DC: Pointer): integer;
542
542
543
- function zend_get_parameters (ht: integer; param_count: integer; Params: array of ppzval): integer;
543
+ function zend_get_parameters (ht: integer; param_count: integer; Params: array of
544
+ { $IFNDEF PHP700} ppzval { $ELSE} pzval{ $ENDIF} ): integer;
544
545
545
546
var
546
- _zend_get_parameters_array_ex : function(param_count: integer; argument_array: pppzval; TSRMLS_CC: pointer): integer; cdecl;
547
+ _zend_get_parameters_array_ex : function(param_count: integer; argument_array:
548
+ { $IFNDEF PHP700} pppzval { $ELSE} pzval{ $ENDIF} ; TSRMLS_CC: pointer): integer; cdecl;
547
549
548
550
procedure dispose_pzval_array (Params: pzval_array);
549
551
@@ -601,7 +603,7 @@ procedure dispose_pzval_array(Params: pzval_array);
601
603
TSRMLS_DC: Pointer): integer; cdecl;
602
604
603
605
call_user_function_ex : function(function_table: PHashTable; object_pp: pzval;
604
- function_name: pzval; return_ptr_ptr: ppzval; param_count: zend_uint;
606
+ function_name: pzval; return_ptr_ptr: { $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } ; param_count: zend_uint;
605
607
params: pzval_array;
606
608
no_separation: zend_uint; symbol_table: PHashTable;
607
609
TSRMLS_DC: Pointer): integer; cdecl;
@@ -752,8 +754,8 @@ procedure ArrayToHash(Keys,AR: Array of Variant; var HT: pzval); overload;
752
754
function ToStrA (V: Variant): AnsiString;
753
755
function ToStr (V: Variant): String;
754
756
function toWChar (s: PAnsiChar): PWideChar;
755
- function ZendToVariant (const Value : pppzval): Variant; overload;
756
- function ZendToVariant (const Value : ppzval): Variant; overload;
757
+ function ZendToVariant (const Value : { $IFNDEF PHP700 } pppzval { $ELSE } pzval { $ENDIF } ): Variant; overload;
758
+ function ZendToVariant (const Value : { $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } ): Variant; overload;
757
759
758
760
procedure ZVAL_STRING (z: pzval; s: PAnsiChar; duplicate: boolean);
759
761
procedure ZVAL_STRINGU (z: pzval; s: PUtf8Char; duplicate: boolean);
@@ -804,14 +806,14 @@ function strdup(strSource : PAnsiChar) : PAnsiChar; cdecl; external MSCRT name
804
806
{ $ELSE}
805
807
function DupStr (strSource : PAnsiChar) : PAnsiChar; cdecl;
806
808
{ $ENDIF}
807
-
809
+ { $IFNDEF PHP7 }
808
810
function ZEND_FAST_ALLOC : pzval;
809
811
function ALLOC_ZVAL : pzval; overload;
810
812
procedure ALLOC_ZVAL (out Result: pzval); overload;
813
+ { $ENDIF}
811
814
procedure INIT_PZVAL (p: pzval);
812
815
function MAKE_STD_ZVAL : pzval; overload;
813
816
procedure MAKE_STD_ZVAL (out Result: pzval); overload;
814
-
815
817
{ $IFNDEF QUIET_LOAD}
816
818
procedure CheckZendErrors ;
817
819
{ $ENDIF}
@@ -1161,7 +1163,7 @@ function ZValArrayKeyExists(v: pzval; idx: Integer): Boolean; overload;
1161
1163
function ZValArrayKeyExists (v: pzval; key: AnsiString; out pData: pzval)
1162
1164
: Boolean; overload;
1163
1165
var
1164
- tmp: ppzval;
1166
+ tmp: { $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } ;
1165
1167
begin
1166
1168
Result := ZValArrayKeyExists(v, key);
1167
1169
if Result then
@@ -1175,7 +1177,7 @@ function ZValArrayKeyExists(v: pzval; key: AnsiString; out pData: pzval)
1175
1177
function ZValArrayKeyExists (v: pzval; idx: Integer; out pData: pzval)
1176
1178
: Boolean; overload;
1177
1179
var
1178
- tmp: ppzval;
1180
+ tmp: { $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } ;
1179
1181
begin
1180
1182
Result := ZValArrayKeyExists(v, idx);
1181
1183
if Result then
@@ -1202,7 +1204,7 @@ function ZValArrayKeyDel(v: pzval; idx: Integer): Boolean; overload;
1202
1204
HASH_DEL_INDEX) = SUCCESS;
1203
1205
end ;
1204
1206
1205
- function ZValArrayKeyFind (v: pzval; key: AnsiString; out pData: ppzval)
1207
+ function ZValArrayKeyFind (v: pzval; key: AnsiString; out pData: { $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } )
1206
1208
: Boolean; overload;
1207
1209
var
1208
1210
keyStr: PAnsiChar;
@@ -1215,14 +1217,16 @@ function ZValArrayKeyFind(v: pzval; key: AnsiString; out pData: ppzval)
1215
1217
zend_hash_func(keyStr, KeyLength), pData) = SUCCESS;
1216
1218
end ;
1217
1219
1218
- function ZValArrayKeyFind (v: pzval; idx: Integer; out pData: ppzval)
1220
+ function ZValArrayKeyFind (v: pzval; idx: Integer; out pData: { $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } )
1219
1221
: Boolean; overload;
1220
1222
begin
1221
1223
Result := zend_hash_quick_find(v.value .ht, nil , 0 , idx, pData) = SUCCESS;
1222
1224
end ;
1223
1225
procedure MAKE_STD_ZVAL (out Result: pzval);
1224
1226
begin
1225
- ALLOC_ZVAL(Result);
1227
+ { $IFNDEF PHP7}
1228
+ ALLOC_ZVAL(Result);
1229
+ { $ENDIF}
1226
1230
INIT_PZVAL(Result);
1227
1231
end ;
1228
1232
@@ -1424,7 +1428,7 @@ function toWChar(s: PAnsiChar): PWideChar;
1424
1428
Result := PWideChar(ss);
1425
1429
end ;
1426
1430
1427
- function ZendToVariant (const Value : pppzval): Variant; overload;
1431
+ function ZendToVariant (const Value : { $IFNDEF PHP700 } pppzval { $ELSE } pzval { $ENDIF } ): Variant; overload;
1428
1432
Var
1429
1433
S: String;
1430
1434
begin
@@ -1436,7 +1440,7 @@ function ZendToVariant(const Value: pppzval): Variant; overload;
1436
1440
end ;
1437
1441
end ;
1438
1442
1439
- function ZendToVariant (const Value : ppzval): Variant; overload;
1443
+ function ZendToVariant (const Value : { $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } ): Variant; overload;
1440
1444
Var
1441
1445
S: String;
1442
1446
begin
@@ -1452,7 +1456,7 @@ function ZendToVariant(const Value: ppzval): Variant; overload;
1452
1456
procedure HashToArray (HT: PHashTable; var AR: TArrayVariant); overload;
1453
1457
Var
1454
1458
Len,I: Integer;
1455
- tmp : pppzval;
1459
+ tmp : { $IFNDEF PHP700 } pppzval { $ELSE } pzval { $ENDIF } ;
1456
1460
begin
1457
1461
len := zend_hash_num_elements(HT);
1458
1462
SetLength(AR,len);
@@ -2029,7 +2033,7 @@ function LoadZEND(const DllFilename: AnsiString = PHPWin) : boolean;
2029
2033
zend_register_resource := GetProcAddress(PHPLib, ' zend_register_resource' );
2030
2034
zend_fetch_resource := GetProcAddress(PHPLib, ' zend_fetch_resource' );
2031
2035
zend_list_insert := GetProcAddress(PHPLib, ' zend_list_insert' );
2032
- { $IFNDEF PHP700 }
2036
+ { $IFNDEF PHP7 }
2033
2037
_zend_list_addref := GetProcAddress(PHPLib, ' _zend_list_addref' );
2034
2038
_zend_list_delete := GetProcAddress(PHPLib, ' _zend_list_delete' );
2035
2039
_zend_list_find := GetProcAddress(PHPLib, ' _zend_list_find' );
@@ -2053,33 +2057,72 @@ function LoadZEND(const DllFilename: AnsiString = PHPWin) : boolean;
2053
2057
ts_free_id := GetProcAddress(PHPLib, ' ts_free_id' );
2054
2058
2055
2059
// -- zend_strndup
2056
- zend_strndup := GetProcAddress(PHPLib, ' zend_strndup' );
2057
-
2060
+ zend_strndup := GetProcAddress(PHPLib,
2061
+ { $IFNDEF PHP7}
2062
+ ' zend_strndup'
2063
+ { $ELSE}
2064
+ ' zend_strndup@@8'
2065
+ { $ENDIF} );
2058
2066
2059
2067
// -- _emalloc
2060
- _emalloc := GetProcAddress(PHPLib, ' _emalloc' );
2068
+ _emalloc := GetProcAddress(PHPLib,
2069
+ { $IFNDEF PHP7}
2070
+ ' _emalloc'
2071
+ { $ELSE}
2072
+ ' _emalloc@@4'
2073
+ { $ENDIF} );
2061
2074
2062
2075
2063
2076
// -- _efree
2064
- _efree := GetProcAddress(PHPLib, ' _efree' );
2077
+ _efree := GetProcAddress(PHPLib,
2078
+ { $IFNDEF PHP7}
2079
+ ' _efree'
2080
+ { $ELSE}
2081
+ ' _efree@@4'
2082
+ { $ENDIF} );
2065
2083
2066
2084
2067
2085
// -- _ecalloc
2068
- _ecalloc := GetProcAddress(PHPLib, ' _ecalloc' );
2086
+ _ecalloc := GetProcAddress(PHPLib,
2087
+ { $IFNDEF PHP7}
2088
+ ' _ecalloc'
2089
+ { $ELSE}
2090
+ ' _ecalloc@@8'
2091
+ { $ENDIF} );
2069
2092
2070
2093
2071
2094
// -- _erealloc
2072
- _erealloc := GetProcAddress(PHPLib, ' _erealloc' );
2095
+ _erealloc := GetProcAddress(PHPLib,
2096
+ { $IFNDEF PHP7}
2097
+ ' _erealloc'
2098
+ { $else}
2099
+ ' _erealloc@@8'
2100
+ { $ENDIF} );
2073
2101
2074
2102
2075
2103
// -- _estrdup
2076
- _estrdup := GetProcAddress(PHPLib, ' _estrdup' );
2104
+ _estrdup := GetProcAddress(PHPLib,
2105
+ { $IFNDEF PHP7}
2106
+ ' _estrdup'
2107
+ { $ELSE}
2108
+ ' _estrdup@@4'
2109
+ { $ENDIF} );
2077
2110
2078
2111
// -- _estrndup
2079
- _estrndup := GetProcAddress(PHPLib, ' _estrndup' );
2112
+ _estrndup := GetProcAddress(PHPLib,
2113
+ { $IFNDEF PHP7}
2114
+ ' _estrndup'
2115
+ { $ELSE}
2116
+ ' _estrndup@@8'
2117
+ { $ENDIF} );
2080
2118
2081
2119
// -- _estrndup Unicode
2082
- _estrndupu := GetProcAddress(PHPLib, ' _estrndup' );
2120
+ _estrndupu := GetProcAddress(PHPLib,
2121
+ { $IFNDEF PHP7}
2122
+ ' _estrndup'
2123
+ { $ELSE}
2124
+ ' _estrndup@@8'
2125
+ { $ENDIF} );
2083
2126
2084
2127
// -- zend_set_memory_limit
2085
2128
zend_set_memory_limit := GetProcAddress(PHPLib, ' zend_set_memory_limit' );
@@ -2735,7 +2778,7 @@ procedure INIT_CLASS_ENTRY(var class_container: Tzend_class_entry; class_name: P
2735
2778
class_container.handle_property_set := nil ;
2736
2779
{ $ENDIF}
2737
2780
end ;
2738
-
2781
+ { $IFNDEF PHP7 }
2739
2782
function ZEND_FAST_ALLOC : pzval;
2740
2783
begin
2741
2784
Result := emalloc(sizeof(zval));
@@ -2750,7 +2793,7 @@ procedure ALLOC_ZVAL(out Result: pzval);
2750
2793
begin
2751
2794
Result := emalloc(sizeof(zval));
2752
2795
end ;
2753
-
2796
+ { $ENDIF }
2754
2797
procedure INIT_PZVAL (p: pzval);
2755
2798
begin
2756
2799
p^.refcount := 1 ;
@@ -2770,7 +2813,9 @@ procedure UNLOCK_ZVAL(p: pzval);
2770
2813
2771
2814
function MAKE_STD_ZVAL : pzval;
2772
2815
begin
2773
- Result := ALLOC_ZVAL;
2816
+ { $IFNDEF PHP7}
2817
+ Result := ALLOC_ZVAL;
2818
+ { $ENDIF}
2774
2819
INIT_PZVAL(Result);
2775
2820
end ;
2776
2821
@@ -2793,7 +2838,7 @@ function zend_get_parameters_ex(number: integer; var Params: pzval_array): integ
2793
2838
function zend_get_parameters_my (number: integer; var Params: pzval_array; TSRMLS_DC: Pointer): integer;
2794
2839
var
2795
2840
i : integer;
2796
- p: pppzval;
2841
+ p: { $IFNDEF PHP700 } pppzval { $ELSE } pzval { $ENDIF } ;
2797
2842
begin
2798
2843
SetLength(Params, number);
2799
2844
if number = 0 then
@@ -2803,15 +2848,16 @@ function zend_get_parameters_my(number: integer; var Params: pzval_array; TSRMLS
2803
2848
end ;
2804
2849
for i := 0 to number - 1 do
2805
2850
New(Params[i]);
2806
-
2851
+ { $IFNDEF PHP700 }
2807
2852
p := emalloc(number * sizeOf(ppzval));
2853
+ { $ENDIF}
2808
2854
Result := _zend_get_parameters_array_ex(number, p, TSRMLS_DC);
2809
2855
2810
2856
for i := 0 to number - 1 do
2811
2857
begin
2812
- Params[i]^ := p^^;
2858
+ { $IFNDEF PHP700 } Params[i]^ := p^^ { $ELSE } Params[i] := p { $ENDIF } ;
2813
2859
if i <> number then
2814
- inc(integer(p^ ), sizeof(ppzval));
2860
+ inc(integer({ $IFNDEF PHP700 } p^ { $ELSE } p { $ENDIF } ), sizeof({ $IFNDEF PHP700 } ppzval { $ELSE } pzval { $ENDIF } ));
2815
2861
end ;
2816
2862
2817
2863
efree(p);
@@ -2877,7 +2923,7 @@ procedure CheckZendErrors;
2877
2923
if @zend_register_resource = nil then raise EPHP4DelphiException.Create(' zend_register_resource' );
2878
2924
if @zend_fetch_resource = nil then raise EPHP4DelphiException.Create(' zend_fetch_resource' );
2879
2925
if @zend_list_insert = nil then raise EPHP4DelphiException.Create(' zend_list_insert' );
2880
- { $IFNDEF PHP700 }
2926
+ { $IFNDEF PHP7 }
2881
2927
if @_zend_list_addref = nil then raise EPHP4DelphiException.Create(' zend_list_addref' );
2882
2928
if @_zend_list_delete = nil then raise EPHP4DelphiException.Create(' zend_list_delete' );
2883
2929
if @_zend_list_find = nil then raise EPHP4DelphiException.Create(' _zend_list_find' );
@@ -2890,6 +2936,7 @@ procedure CheckZendErrors;
2890
2936
if @ts_allocate_id = nil then raise EPHP4DelphiException.Create(' ts_allocate_id' );
2891
2937
if @ts_free_id = nil then raise EPHP4DelphiException.Create(' ts_free_id' );
2892
2938
if @zend_strndup = nil then raise EPHP4DelphiException.Create(' zend_strndup' );
2939
+
2893
2940
if @_emalloc = nil then raise EPHP4DelphiException.Create(' _emalloc' );
2894
2941
if @_efree = nil then raise EPHP4DelphiException.Create(' _efree' );
2895
2942
if @_ecalloc = nil then raise EPHP4DelphiException.Create(' _ecalloc' );
0 commit comments