Skip to content

Commit 3a1f3c5

Browse files
author
Harald Radi
committed
added these TSRMLS_* macros to nearly every argument list
1 parent 90fcd0d commit 3a1f3c5

14 files changed

+376
-420
lines changed

ext/com/COM.c

+95-117
Large diffs are not rendered by default.

ext/com/VARIANT.c

+22-31
Original file line numberDiff line numberDiff line change
@@ -28,26 +28,20 @@
2828

2929
#include "php.h"
3030
#include "php_ini.h"
31-
#include "variant.h"
32-
#include "conversion.h"
3331
#include "ext/standard/info.h"
32+
#include "php_VARIANT.h"
3433

3534
#include <unknwn.h>
3635

37-
PHP_MINIT_FUNCTION(VARIANT);
38-
PHP_MSHUTDOWN_FUNCTION(VARIANT);
39-
40-
int php_VARIANT_get_le_variant();
41-
void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference);
42-
pval php_VARIANT_get_property_handler(zend_property_reference *property_reference);
43-
static int do_VARIANT_propset(VARIANT *var_arg, pval *arg_property, pval *value);
44-
void php_register_VARIANT_class();
45-
static void php_variant_destructor(zend_rsrc_list_entry *rsrc);
46-
void php_register_VARIANT_class();
36+
static int do_VARIANT_propset(VARIANT *var_arg, pval *arg_property, pval *value TSRMLS_DC);
37+
static int php_VARIANT_set_property_handler(zend_property_reference *property_reference, pval *value);
38+
static pval php_VARIANT_get_property_handler(zend_property_reference *property_reference);
39+
static void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference);
40+
static void php_VARIANT_destructor(zend_rsrc_list_entry *rsrc TSRMLS_DC);
41+
static void php_register_VARIANT_class(TSRMLS_D);
4742

4843
static int le_variant;
4944
static int codepage;
50-
5145
static zend_class_entry VARIANT_class_entry;
5246

5347
function_entry VARIANT_functions[] = {
@@ -67,7 +61,7 @@ zend_module_entry VARIANT_module_entry = {
6761

6862
PHP_MINIT_FUNCTION(VARIANT)
6963
{
70-
le_variant = zend_register_list_destructors_ex(php_variant_destructor, NULL, "VARIANT", module_number);
64+
le_variant = zend_register_list_destructors_ex(php_VARIANT_destructor, NULL, "VARIANT", module_number);
7165

7266
/* variant datatypes */
7367
REGISTER_LONG_CONSTANT("VT_NULL", VT_NULL, CONST_CS | CONST_PERSISTENT);
@@ -111,7 +105,7 @@ PHP_MINIT_FUNCTION(VARIANT)
111105
# error "CP_THREAD_ACP undefined"
112106
#endif
113107

114-
php_register_VARIANT_class();
108+
php_register_VARIANT_class(TSRMLS_C);
115109
return SUCCESS;
116110
}
117111

@@ -120,12 +114,12 @@ PHP_MSHUTDOWN_FUNCTION(VARIANT)
120114
return SUCCESS;
121115
}
122116

123-
int php_VARIANT_get_le_variant()
117+
PHPAPI int php_VARIANT_get_le_variant()
124118
{
125119
return le_variant;
126120
}
127121

128-
void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
122+
static void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
129123
{
130124
pval *object = property_reference->object;
131125
zend_overloaded_element *function_name = (zend_overloaded_element *) property_reference->elements_list->tail->data;
@@ -146,17 +140,17 @@ void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_proper
146140
break;
147141
case 1:
148142
getParameters(ht, 1, &data);
149-
php_pval_to_variant(data, pVar, codepage);
143+
php_pval_to_variant(data, pVar, codepage TSRMLS_CC);
150144
codepage = CP_ACP;
151145
break;
152146
case 2:
153147
getParameters(ht, 2, &data, &type);
154-
php_pval_to_variant_ex(data, pVar, type, codepage);
148+
php_pval_to_variant_ex(data, pVar, type, codepage TSRMLS_CC);
155149
codepage = CP_ACP;
156150
break;
157151
case 3:
158152
getParameters(ht, 3, &data, &type, &code_page);
159-
php_pval_to_variant_ex(data, pVar, type, codepage);
153+
php_pval_to_variant_ex(data, pVar, type, codepage TSRMLS_CC);
160154
convert_to_long(code_page);
161155
codepage = code_page->value.lval;
162156
break;
@@ -182,8 +176,7 @@ void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_proper
182176
}
183177
}
184178

185-
186-
pval php_VARIANT_get_property_handler(zend_property_reference *property_reference)
179+
static pval php_VARIANT_get_property_handler(zend_property_reference *property_reference)
187180
{
188181
zend_overloaded_element *overloaded_property;
189182
int type;
@@ -212,7 +205,7 @@ pval php_VARIANT_get_property_handler(zend_property_reference *property_referenc
212205
case OE_IS_OBJECT:
213206
if(!strcmp(overloaded_property->element.value.str.val, "value"))
214207
{
215-
php_variant_to_pval(var_arg, &result, 0, codepage);
208+
php_variant_to_pval(var_arg, &result, 0, codepage TSRMLS_CC);
216209
}
217210
else if(!strcmp(Z_STRVAL(overloaded_property->element), "type"))
218211
{
@@ -236,7 +229,7 @@ pval php_VARIANT_get_property_handler(zend_property_reference *property_referenc
236229
return result;
237230
}
238231

239-
int php_VARIANT_set_property_handler(zend_property_reference *property_reference, pval *value)
232+
static int php_VARIANT_set_property_handler(zend_property_reference *property_reference, pval *value)
240233
{
241234
zend_overloaded_element *overloaded_property;
242235
int type;
@@ -253,12 +246,12 @@ int php_VARIANT_set_property_handler(zend_property_reference *property_reference
253246
return FAILURE;
254247

255248
overloaded_property = (zend_overloaded_element *) property_reference->elements_list->head->data;
256-
do_VARIANT_propset(var_arg, &overloaded_property->element, value);
249+
do_VARIANT_propset(var_arg, &overloaded_property->element, value TSRMLS_CC);
257250
zval_dtor(&overloaded_property->element);
258251
return SUCCESS;
259252
}
260253

261-
static int do_VARIANT_propset(VARIANT *var_arg, pval *arg_property, pval *value)
254+
static int do_VARIANT_propset(VARIANT *var_arg, pval *arg_property, pval *value TSRMLS_DC)
262255
{
263256
pval type;
264257

@@ -426,20 +419,18 @@ static int do_VARIANT_propset(VARIANT *var_arg, pval *arg_property, pval *value)
426419
return FAILURE;
427420
}
428421

429-
php_pval_to_variant_ex(value, var_arg, &type, codepage);
422+
php_pval_to_variant_ex(value, var_arg, &type, codepage TSRMLS_CC);
430423

431424
return SUCCESS;
432425
}
433426

434-
static void php_variant_destructor(zend_rsrc_list_entry *rsrc)
427+
static void php_VARIANT_destructor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
435428
{
436429
FREE_VARIANT(rsrc->ptr);
437430
}
438431

439-
void php_register_VARIANT_class(void)
432+
static void php_register_VARIANT_class(TSRMLS_D)
440433
{
441-
TSRMLS_FETCH();
442-
443434
INIT_OVERLOADED_CLASS_ENTRY(VARIANT_class_entry, "VARIANT", NULL,
444435
php_VARIANT_call_function_handler,
445436
php_VARIANT_get_property_handler,

ext/com/com.h

+22-18
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
#if PHP_WIN32
55

6-
#include "oleauto.h"
6+
BEGIN_EXTERN_C()
7+
8+
#include <oleauto.h>
79

810
typedef struct comval_ {
911
#ifdef _DEBUG
@@ -19,29 +21,31 @@ typedef struct comval_ {
1921
} i;
2022
} comval;
2123

22-
#define ZVAL_COM(z,o) { \
23-
zval *handle; \
24-
\
25-
/* OBJECTS_FIXME */ \
26-
Z_TYPE_P(z) = IS_OBJECT; \
27-
Z_OBJCE_P(z) = &com_class_entry; \
28-
\
29-
ALLOC_HASHTABLE(Z_OBJPROP_P(z)); \
30-
zend_hash_init(Z_OBJPROP_P(z), 0, NULL, ZVAL_PTR_DTOR, 0); \
31-
\
32-
ALLOC_ZVAL(handle); \
33-
INIT_PZVAL(handle); \
34-
ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \
35-
\
36-
zval_copy_ctor(handle); \
24+
END_EXTERN_C()
25+
26+
#define ZVAL_COM(z,o) { \
27+
zval *handle; \
28+
\
29+
/* OBJECTS_FIXME */ \
30+
Z_TYPE_P(z) = IS_OBJECT; \
31+
Z_OBJCE_P(z) = &COM_class_entry; \
32+
\
33+
ALLOC_HASHTABLE(Z_OBJPROP_P(z)); \
34+
zend_hash_init(Z_OBJPROP_P(z), 0, NULL, ZVAL_PTR_DTOR, 0); \
35+
\
36+
ALLOC_ZVAL(handle); \
37+
INIT_PZVAL(handle); \
38+
ZVAL_LONG(handle, zend_list_insert((o), IS_COM)); \
39+
\
40+
zval_copy_ctor(handle); \
3741
zend_hash_index_update(Z_OBJPROP_P(z), 0, &handle, sizeof(zval *), NULL); \
3842
}
3943

4044
#define RETVAL_COM(o) ZVAL_COM(&return_value, o);
41-
#define RETURN_COM(o) RETVAL_COM(o) \
45+
#define RETURN_COM(o) RETVAL_COM(o) \
4246
return;
4347

44-
#define ALLOC_COM(z) (z) = (comval *) emalloc(sizeof(comval)); \
48+
#define ALLOC_COM(z) (z) = (comval *) emalloc(sizeof(comval)); \
4549
C_REFCOUNT(z) = 0;
4650

4751
#define FREE_COM(z) efree(z);

ext/com/conversion.c

+14-20
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,6 @@
3737

3838
/* prototypes */
3939

40-
PHPAPI void php_pval_to_variant(pval *pval_arg, VARIANT *var_arg, int codepage TSRMLS_DC);
41-
PHPAPI void php_pval_to_variant_ex(pval *pval_arg, VARIANT *var_arg, pval *pval_type, int codepage TSRMLS_DC);
42-
PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, int codepage);
43-
PHPAPI OLECHAR *php_char_to_OLECHAR(char *C_str, uint strlen, int codepage);
44-
PHPAPI char *php_OLECHAR_to_char(OLECHAR *unicode_str, uint *out_length, int persistent, int codepage);
45-
4640
static void pval_to_variant_ex(pval *pval_arg, VARIANT *var_arg, int type, int codepage TSRMLS_DC);
4741
static void comval_to_variant(pval *pval_arg, VARIANT *var_arg TSRMLS_DC);
4842

@@ -249,20 +243,20 @@ static void pval_to_variant_ex(pval *pval_arg, VARIANT *var_arg, int type, int c
249243

250244
case VT_BSTR:
251245
convert_to_string_ex(&pval_arg);
252-
unicode_str = php_char_to_OLECHAR(Z_STRVAL_P(pval_arg), Z_STRLEN_P(pval_arg), codepage);
246+
unicode_str = php_char_to_OLECHAR(Z_STRVAL_P(pval_arg), Z_STRLEN_P(pval_arg), codepage TSRMLS_CC);
253247
V_BSTR(var_arg) = SysAllocString(unicode_str);
254248
efree(unicode_str);
255249
break;
256250

257251
case VT_DECIMAL:
258252
convert_to_string_ex(&pval_arg);
259-
unicode_str = php_char_to_OLECHAR(Z_STRVAL_P(pval_arg), Z_STRLEN_P(pval_arg), codepage);
253+
unicode_str = php_char_to_OLECHAR(Z_STRVAL_P(pval_arg), Z_STRLEN_P(pval_arg), codepage TSRMLS_CC);
260254
VarDecFromStr(unicode_str, LOCALE_SYSTEM_DEFAULT, 0, &V_DECIMAL(var_arg));
261255
break;
262256

263257
case VT_DECIMAL|VT_BYREF:
264258
convert_to_string_ex(&pval_arg);
265-
unicode_str = php_char_to_OLECHAR(Z_STRVAL_P(pval_arg), Z_STRLEN_P(pval_arg), codepage);
259+
unicode_str = php_char_to_OLECHAR(Z_STRVAL_P(pval_arg), Z_STRLEN_P(pval_arg), codepage TSRMLS_CC);
266260
VarDecFromStr(unicode_str, LOCALE_SYSTEM_DEFAULT, 0, V_DECIMALREF(var_arg));
267261
break;
268262

@@ -349,7 +343,7 @@ static void pval_to_variant_ex(pval *pval_arg, VARIANT *var_arg, int type, int c
349343
case VT_BSTR|VT_BYREF:
350344
convert_to_string(pval_arg);
351345
V_BSTRREF(var_arg) = (BSTR FAR*) emalloc(sizeof(BSTR FAR*));
352-
unicode_str = php_char_to_OLECHAR(Z_STRVAL_P(pval_arg), Z_STRLEN_P(pval_arg), codepage);
346+
unicode_str = php_char_to_OLECHAR(Z_STRVAL_P(pval_arg), Z_STRLEN_P(pval_arg), codepage TSRMLS_CC);
353347
*V_BSTRREF(var_arg) = SysAllocString(unicode_str);
354348
efree(unicode_str);
355349
break;
@@ -465,7 +459,7 @@ static void pval_to_variant_ex(pval *pval_arg, VARIANT *var_arg, int type, int c
465459
}
466460
}
467461

468-
PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, int codepage)
462+
PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, int codepage TSRMLS_DC)
469463
{
470464
/* Changed the function to return a value for recursive error testing */
471465
/* Existing calls will be unaffected by the change - so it */
@@ -543,7 +537,7 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent,
543537
/* If SafeArrayGetElement proclaims to allocate */
544538
/* memory for a BSTR, so the recursive call frees */
545539
/* the string correctly */
546-
if (FAILURE == php_variant_to_pval(&vv, element, persistent, codepage))
540+
if (FAILURE == php_variant_to_pval(&vv, element, persistent, codepage TSRMLS_CC))
547541
{
548542
/* Error occurred setting up array element */
549543
/* Error was displayed by the recursive call */
@@ -633,7 +627,7 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent,
633627
switch(VarBstrFromDec(&V_DECIMAL(var_arg), LOCALE_SYSTEM_DEFAULT, 0, &unicode_str))
634628
{
635629
case S_OK:
636-
Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(unicode_str, &Z_STRLEN_P(pval_arg), persistent, codepage);
630+
Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(unicode_str, &Z_STRLEN_P(pval_arg), persistent, codepage TSRMLS_CC);
637631
Z_TYPE_P(pval_arg) = IS_STRING;
638632
break;
639633

@@ -676,18 +670,18 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent,
676670
break;
677671

678672
case VT_VARIANT:
679-
php_variant_to_pval(V_VARIANTREF(var_arg), pval_arg, persistent, codepage);
673+
php_variant_to_pval(V_VARIANTREF(var_arg), pval_arg, persistent, codepage TSRMLS_CC);
680674
break;
681675

682676
case VT_BSTR:
683677
if(V_ISBYREF(var_arg))
684678
{
685-
Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(*V_BSTRREF(var_arg), &Z_STRLEN_P(pval_arg), persistent, codepage);
679+
Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(*V_BSTRREF(var_arg), &Z_STRLEN_P(pval_arg), persistent, codepage TSRMLS_CC);
686680
efree(V_BSTRREF(var_arg));
687681
}
688682
else
689683
{
690-
Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(V_BSTR(var_arg), &Z_STRLEN_P(pval_arg), persistent, codepage);
684+
Z_STRVAL_P(pval_arg) = php_OLECHAR_to_char(V_BSTR(var_arg), &Z_STRLEN_P(pval_arg), persistent, codepage TSRMLS_CC);
691685
}
692686

693687
Z_TYPE_P(pval_arg) = IS_STRING;
@@ -737,7 +731,7 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent,
737731
{
738732
char *error_message;
739733

740-
error_message = php_COM_error_message(hr);
734+
error_message = php_COM_error_message(hr TSRMLS_CC);
741735
php_error(E_WARNING,"Unable to obtain IDispatch interface: %s", error_message);
742736
LocalFree(error_message);
743737

@@ -757,7 +751,7 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent,
757751
else
758752
{
759753
ALLOC_COM(obj);
760-
php_COM_set(obj, &V_DISPATCH(var_arg), TRUE);
754+
php_COM_set(obj, &V_DISPATCH(var_arg), TRUE TSRMLS_CC);
761755

762756
ZVAL_COM(pval_arg, obj);
763757
}
@@ -828,7 +822,7 @@ PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent,
828822
return ret;
829823
}
830824

831-
PHPAPI OLECHAR *php_char_to_OLECHAR(char *C_str, uint strlen, int codepage)
825+
PHPAPI OLECHAR *php_char_to_OLECHAR(char *C_str, uint strlen, int codepage TSRMLS_DC)
832826
{
833827
OLECHAR *unicode_str;
834828

@@ -860,7 +854,7 @@ PHPAPI OLECHAR *php_char_to_OLECHAR(char *C_str, uint strlen, int codepage)
860854
return unicode_str;
861855
}
862856

863-
PHPAPI char *php_OLECHAR_to_char(OLECHAR *unicode_str, uint *out_length, int persistent, int codepage)
857+
PHPAPI char *php_OLECHAR_to_char(OLECHAR *unicode_str, uint *out_length, int persistent, int codepage TSRMLS_DC)
864858
{
865859
char *C_str;
866860
uint length = 0;

ext/com/conversion.h

+5-6
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33

44
BEGIN_EXTERN_C()
55

6-
extern void php_pval_to_variant(pval *pval_arg, VARIANT *var_arg, int codepage);
7-
extern void php_pval_to_variant_ex(pval *pval_arg, VARIANT *var_arg, pval *pval_type, int codepage);
8-
extern int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, int codepage);
9-
10-
extern OLECHAR *php_char_to_OLECHAR(char *C_str, uint strlen, int codepage);
11-
extern char *php_OLECHAR_to_char(OLECHAR *unicode_str, uint *out_length, int persistent, int codepage);
6+
PHPAPI void php_pval_to_variant(pval *pval_arg, VARIANT *var_arg, int codepage TSRMLS_DC);
7+
PHPAPI void php_pval_to_variant_ex(pval *pval_arg, VARIANT *var_arg, pval *pval_type, int codepage TSRMLS_DC);
8+
PHPAPI int php_variant_to_pval(VARIANT *var_arg, pval *pval_arg, int persistent, int codepage TSRMLS_DC);
9+
PHPAPI OLECHAR *php_char_to_OLECHAR(char *C_str, uint strlen, int codepage TSRMLS_DC);
10+
PHPAPI char *php_OLECHAR_to_char(OLECHAR *unicode_str, uint *out_length, int persistent, int codepage TSRMLS_DC);
1211

1312
END_EXTERN_C()
1413

0 commit comments

Comments
 (0)