Skip to content

Commit 750fee8

Browse files
author
Harald Radi
committed
cleanup
1 parent 3949658 commit 750fee8

File tree

4 files changed

+224
-232
lines changed

4 files changed

+224
-232
lines changed

ext/com/VARIANT.c

Lines changed: 98 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,16 @@
2828

2929
#include "php.h"
3030
#include "php_ini.h"
31-
#include "php_VARIANT.h"
31+
#include "variant.h"
3232
#include "conversion.h"
3333
#include "ext/standard/info.h"
3434

3535
#include <unknwn.h>
3636

37+
PHP_MINIT_FUNCTION(VARIANT);
38+
PHP_MSHUTDOWN_FUNCTION(VARIANT);
39+
40+
int php_VARIANT_get_le_variant();
3741
void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference);
3842
pval php_VARIANT_get_property_handler(zend_property_reference *property_reference);
3943
static int do_VARIANT_propset(VARIANT *var_arg, pval *arg_property, pval *value);
@@ -108,18 +112,23 @@ PHP_MSHUTDOWN_FUNCTION(VARIANT)
108112
return SUCCESS;
109113
}
110114

115+
int php_VARIANT_get_le_variant()
116+
{
117+
return le_variant;
118+
}
119+
111120
void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
112121
{
113122
pval *object = property_reference->object;
114123
zend_overloaded_element *function_name = (zend_overloaded_element *) property_reference->elements_list->tail->data;
115124
VARIANT *pVar;
116125

117-
if((zend_llist_count(property_reference->elements_list)==1) && !strcmp(function_name->element.value.str.val, "variant"))
126+
if((zend_llist_count(property_reference->elements_list)==1) && !strcmp(Z_STRVAL(function_name->element), "variant"))
118127
{
119128
/* constructor */
120129
pval *object_handle, *data, *type, *code_page;
121130

122-
pVar = emalloc(sizeof(VARIANT));
131+
ALLOC_VARIANT(pVar);
123132
VariantInit(pVar);
124133

125134
switch(ZEND_NUM_ARGS())
@@ -148,8 +157,7 @@ void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_proper
148157
break;
149158
}
150159

151-
return_value->type = IS_LONG;
152-
return_value->value.lval = zend_list_insert(pVar, le_variant);
160+
RETVAL_LONG(zend_list_insert(pVar, IS_VARIANT));
153161

154162
if(!zend_is_true(return_value))
155163
{
@@ -177,9 +185,9 @@ pval php_VARIANT_get_property_handler(zend_property_reference *property_referenc
177185

178186
/* fetch the VARIANT structure */
179187
zend_hash_index_find(object->value.obj.properties, 0, (void **) &var_handle);
180-
var_arg = zend_list_find((*var_handle)->value.lval, &type);
188+
var_arg = zend_list_find(Z_LVAL_PP(var_handle), &type);
181189

182-
if(!var_arg || (type != le_variant))
190+
if(!var_arg || (type != IS_VARIANT))
183191
{
184192
var_reset(&result);
185193
}
@@ -197,10 +205,9 @@ pval php_VARIANT_get_property_handler(zend_property_reference *property_referenc
197205
{
198206
php_variant_to_pval(var_arg, &result, 0, codepage);
199207
}
200-
else if(!strcmp(overloaded_property->element.value.str.val, "type"))
208+
else if(!strcmp(Z_STRVAL(overloaded_property->element), "type"))
201209
{
202-
result.value.lval = var_arg->vt;
203-
result.type = IS_LONG;
210+
ZVAL_LONG(&result, V_VT(var_arg))
204211
}
205212
else
206213
{
@@ -230,9 +237,9 @@ int php_VARIANT_set_property_handler(zend_property_reference *property_reference
230237

231238
/* fetch the VARIANT structure */
232239
zend_hash_index_find(object->value.obj.properties, 0, (void **) &var_handle);
233-
var_arg = zend_list_find((*var_handle)->value.lval, &type);
240+
var_arg = zend_list_find(Z_LVAL_PP(var_handle), &type);
234241

235-
if(!var_arg || (type != le_variant))
242+
if(!var_arg || (type != IS_VARIANT))
236243
return FAILURE;
237244

238245
overloaded_property = (zend_overloaded_element *) property_reference->elements_list->head->data;
@@ -245,163 +252,163 @@ static int do_VARIANT_propset(VARIANT *var_arg, pval *arg_property, pval *value)
245252
{
246253
pval type;
247254

248-
type.type = IS_STRING;
255+
Z_TYPE(type) = IS_STRING;
249256

250-
if(!strcmp(arg_property->value.str.val, "bVal"))
257+
if(!strcmp(Z_STRVAL_P(arg_property), "bVal"))
251258
{
252-
type.value.lval = VT_UI1;
259+
Z_LVAL(type) = VT_UI1;
253260
}
254-
else if(!strcmp(arg_property->value.str.val, "iVal"))
261+
else if(!strcmp(Z_STRVAL_P(arg_property), "iVal"))
255262
{
256-
type.value.lval = VT_I2;
263+
Z_LVAL(type) = VT_I2;
257264
}
258-
else if(!strcmp(arg_property->value.str.val, "lVal"))
265+
else if(!strcmp(Z_STRVAL_P(arg_property), "lVal"))
259266
{
260-
type.value.lval = VT_I4;
267+
Z_LVAL(type) = VT_I4;
261268
}
262-
else if(!strcmp(arg_property->value.str.val, "fltVal"))
269+
else if(!strcmp(Z_STRVAL_P(arg_property), "fltVal"))
263270
{
264-
type.value.lval = VT_R4;
271+
Z_LVAL(type) = VT_R4;
265272
}
266-
else if(!strcmp(arg_property->value.str.val, "dblVal"))
273+
else if(!strcmp(Z_STRVAL_P(arg_property), "dblVal"))
267274
{
268-
type.value.lval = VT_R8;
275+
Z_LVAL(type) = VT_R8;
269276
}
270-
else if(!strcmp(arg_property->value.str.val, "boolVal"))
277+
else if(!strcmp(Z_STRVAL_P(arg_property), "boolVal"))
271278
{
272-
type.value.lval = VT_BOOL;
279+
Z_LVAL(type) = VT_BOOL;
273280
}
274-
else if(!strcmp(arg_property->value.str.val, "scode"))
281+
else if(!strcmp(Z_STRVAL_P(arg_property), "scode"))
275282
{
276-
type.value.lval = VT_ERROR;
283+
Z_LVAL(type) = VT_ERROR;
277284
}
278-
else if(!strcmp(arg_property->value.str.val, "cyVal"))
285+
else if(!strcmp(Z_STRVAL_P(arg_property), "cyVal"))
279286
{
280-
type.value.lval = VT_CY;
287+
Z_LVAL(type) = VT_CY;
281288
}
282-
else if(!strcmp(arg_property->value.str.val, "date"))
289+
else if(!strcmp(Z_STRVAL_P(arg_property), "date"))
283290
{
284-
type.value.lval = VT_DATE;
291+
Z_LVAL(type) = VT_DATE;
285292
}
286-
else if(!strcmp(arg_property->value.str.val, "bstrVal"))
293+
else if(!strcmp(Z_STRVAL_P(arg_property), "bstrVal"))
287294
{
288-
type.value.lval = VT_BSTR;
295+
Z_LVAL(type) = VT_BSTR;
289296
}
290-
else if(!strcmp(arg_property->value.str.val, "pdecVal"))
297+
else if(!strcmp(Z_STRVAL_P(arg_property), "pdecVal"))
291298
{
292-
type.value.lval = VT_DECIMAL|VT_BYREF;
299+
Z_LVAL(type) = VT_DECIMAL|VT_BYREF;
293300
}
294-
else if(!strcmp(arg_property->value.str.val, "punkVal"))
301+
else if(!strcmp(Z_STRVAL_P(arg_property), "punkVal"))
295302
{
296-
type.value.lval = VT_UNKNOWN;
303+
Z_LVAL(type) = VT_UNKNOWN;
297304
}
298-
else if(!strcmp(arg_property->value.str.val, "pdispVal"))
305+
else if(!strcmp(Z_STRVAL_P(arg_property), "pdispVal"))
299306
{
300-
type.value.lval = VT_DISPATCH;
307+
Z_LVAL(type) = VT_DISPATCH;
301308
}
302-
else if(!strcmp(arg_property->value.str.val, "parray"))
309+
else if(!strcmp(Z_STRVAL_P(arg_property), "parray"))
303310
{
304-
type.value.lval = VT_ARRAY;
311+
Z_LVAL(type) = VT_ARRAY;
305312
}
306-
else if(!strcmp(arg_property->value.str.val, "pbVal"))
313+
else if(!strcmp(Z_STRVAL_P(arg_property), "pbVal"))
307314
{
308-
type.value.lval = VT_UI1|VT_BYREF;
315+
Z_LVAL(type) = VT_UI1|VT_BYREF;
309316
}
310-
else if(!strcmp(arg_property->value.str.val, "piVal"))
317+
else if(!strcmp(Z_STRVAL_P(arg_property), "piVal"))
311318
{
312-
type.value.lval = VT_I2|VT_BYREF;
319+
Z_LVAL(type) = VT_I2|VT_BYREF;
313320
}
314-
else if(!strcmp(arg_property->value.str.val, "plVal"))
321+
else if(!strcmp(Z_STRVAL_P(arg_property), "plVal"))
315322
{
316-
type.value.lval = VT_I4|VT_BYREF;
323+
Z_LVAL(type) = VT_I4|VT_BYREF;
317324
}
318-
else if(!strcmp(arg_property->value.str.val, "pfltVal"))
325+
else if(!strcmp(Z_STRVAL_P(arg_property), "pfltVal"))
319326
{
320-
type.value.lval = VT_R4|VT_BYREF;
327+
Z_LVAL(type) = VT_R4|VT_BYREF;
321328
}
322-
else if(!strcmp(arg_property->value.str.val, "pdblVal"))
329+
else if(!strcmp(Z_STRVAL_P(arg_property), "pdblVal"))
323330
{
324-
type.value.lval = VT_R8|VT_BYREF;
331+
Z_LVAL(type) = VT_R8|VT_BYREF;
325332
}
326-
else if(!strcmp(arg_property->value.str.val, "pboolVal"))
333+
else if(!strcmp(Z_STRVAL_P(arg_property), "pboolVal"))
327334
{
328-
type.value.lval = VT_BOOL|VT_BYREF;
335+
Z_LVAL(type) = VT_BOOL|VT_BYREF;
329336
}
330-
else if(!strcmp(arg_property->value.str.val, "pscode"))
337+
else if(!strcmp(Z_STRVAL_P(arg_property), "pscode"))
331338
{
332-
type.value.lval = VT_ERROR|VT_BYREF;
339+
Z_LVAL(type) = VT_ERROR|VT_BYREF;
333340
}
334-
else if(!strcmp(arg_property->value.str.val, "pcyVal"))
341+
else if(!strcmp(Z_STRVAL_P(arg_property), "pcyVal"))
335342
{
336-
type.value.lval = VT_CY|VT_BYREF;
343+
Z_LVAL(type) = VT_CY|VT_BYREF;
337344
}
338-
else if(!strcmp(arg_property->value.str.val, "pdate"))
345+
else if(!strcmp(Z_STRVAL_P(arg_property), "pdate"))
339346
{
340-
type.value.lval = VT_DATE|VT_BYREF;
347+
Z_LVAL(type) = VT_DATE|VT_BYREF;
341348
}
342-
else if(!strcmp(arg_property->value.str.val, "pbstrVal"))
349+
else if(!strcmp(Z_STRVAL_P(arg_property), "pbstrVal"))
343350
{
344-
type.value.lval = VT_BSTR|VT_BYREF;
351+
Z_LVAL(type) = VT_BSTR|VT_BYREF;
345352
}
346-
else if(!strcmp(arg_property->value.str.val, "ppunkVal"))
353+
else if(!strcmp(Z_STRVAL_P(arg_property), "ppunkVal"))
347354
{
348-
type.value.lval = VT_UNKNOWN|VT_BYREF;
355+
Z_LVAL(type) = VT_UNKNOWN|VT_BYREF;
349356
}
350-
else if(!strcmp(arg_property->value.str.val, "ppdispVal"))
357+
else if(!strcmp(Z_STRVAL_P(arg_property), "ppdispVal"))
351358
{
352-
type.value.lval = VT_DISPATCH|VT_BYREF;
359+
Z_LVAL(type) = VT_DISPATCH|VT_BYREF;
353360
}
354-
else if(!strcmp(arg_property->value.str.val, "pparray"))
361+
else if(!strcmp(Z_STRVAL_P(arg_property), "pparray"))
355362
{
356-
type.value.lval = VT_ARRAY|VT_BYREF;
363+
Z_LVAL(type) = VT_ARRAY|VT_BYREF;
357364
}
358-
else if(!strcmp(arg_property->value.str.val, "pvarVal"))
365+
else if(!strcmp(Z_STRVAL_P(arg_property), "pvarVal"))
359366
{
360-
type.value.lval = VT_VARIANT|VT_BYREF;
367+
Z_LVAL(type) = VT_VARIANT|VT_BYREF;
361368
}
362-
else if(!strcmp(arg_property->value.str.val, "byref"))
369+
else if(!strcmp(Z_STRVAL_P(arg_property), "byref"))
363370
{
364-
type.value.lval = VT_BYREF;
371+
Z_LVAL(type) = VT_BYREF;
365372
}
366-
else if(!strcmp(arg_property->value.str.val, "cVal"))
373+
else if(!strcmp(Z_STRVAL_P(arg_property), "cVal"))
367374
{
368-
type.value.lval = VT_I1;
375+
Z_LVAL(type) = VT_I1;
369376
}
370-
else if(!strcmp(arg_property->value.str.val, "uiVal"))
377+
else if(!strcmp(Z_STRVAL_P(arg_property), "uiVal"))
371378
{
372-
type.value.lval = VT_UI2;
379+
Z_LVAL(type) = VT_UI2;
373380
}
374-
else if(!strcmp(arg_property->value.str.val, "ulVal"))
381+
else if(!strcmp(Z_STRVAL_P(arg_property), "ulVal"))
375382
{
376-
type.value.lval = VT_UI4;
383+
Z_LVAL(type) = VT_UI4;
377384
}
378-
else if(!strcmp(arg_property->value.str.val, "intVal"))
385+
else if(!strcmp(Z_STRVAL_P(arg_property), "intVal"))
379386
{
380-
type.value.lval = VT_INT;
387+
Z_LVAL(type) = VT_INT;
381388
}
382-
else if(!strcmp(arg_property->value.str.val, "uintVal"))
389+
else if(!strcmp(Z_STRVAL_P(arg_property), "uintVal"))
383390
{
384-
type.value.lval = VT_UINT|VT_BYREF;
391+
Z_LVAL(type) = VT_UINT|VT_BYREF;
385392
}
386-
else if(!strcmp(arg_property->value.str.val, "pcVal"))
393+
else if(!strcmp(Z_STRVAL_P(arg_property), "pcVal"))
387394
{
388-
type.value.lval = VT_I1|VT_BYREF;
395+
Z_LVAL(type) = VT_I1|VT_BYREF;
389396
}
390-
else if(!strcmp(arg_property->value.str.val, "puiVal"))
397+
else if(!strcmp(Z_STRVAL_P(arg_property), "puiVal"))
391398
{
392-
type.value.lval = VT_UI2|VT_BYREF;
399+
Z_LVAL(type) = VT_UI2|VT_BYREF;
393400
}
394-
else if(!strcmp(arg_property->value.str.val, "pulVal"))
401+
else if(!strcmp(Z_STRVAL_P(arg_property), "pulVal"))
395402
{
396-
type.value.lval = VT_UI4|VT_BYREF;
403+
Z_LVAL(type) = VT_UI4|VT_BYREF;
397404
}
398-
else if(!strcmp(arg_property->value.str.val, "pintVal"))
405+
else if(!strcmp(Z_STRVAL_P(arg_property), "pintVal"))
399406
{
400-
type.value.lval = VT_INT|VT_BYREF;
407+
Z_LVAL(type) = VT_INT|VT_BYREF;
401408
}
402-
else if(!strcmp(arg_property->value.str.val, "puintVal"))
409+
else if(!strcmp(Z_STRVAL_P(arg_property), "puintVal"))
403410
{
404-
type.value.lval = VT_UINT|VT_BYREF;
411+
Z_LVAL(type) = VT_UINT|VT_BYREF;
405412
}
406413
else
407414
{

0 commit comments

Comments
 (0)