Skip to content

Commit 1d6cbd1

Browse files
author
Harald Radi
committed
MFH
1 parent 37cce7f commit 1d6cbd1

File tree

8 files changed

+424
-760
lines changed

8 files changed

+424
-760
lines changed

ext/com/VARIANT.c

Lines changed: 71 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,25 @@ static int le_variant;
4444
static int codepage;
4545
static zend_class_entry VARIANT_class_entry;
4646

47+
4748
function_entry VARIANT_functions[] = {
4849
{NULL, NULL, NULL}
4950
};
5051

52+
5153
static PHP_MINFO_FUNCTION(VARIANT)
5254
{
5355
php_info_print_table_start();
5456
php_info_print_table_row(2, "VARIANT support", "enabled");
5557
php_info_print_table_end();
5658
}
5759

60+
5861
zend_module_entry VARIANT_module_entry = {
5962
"variant", VARIANT_functions, PHP_MINIT(VARIANT), PHP_MSHUTDOWN(VARIANT), NULL, NULL, PHP_MINFO(VARIANT), STANDARD_MODULE_PROPERTIES
6063
};
6164

65+
6266
PHP_MINIT_FUNCTION(VARIANT)
6367
{
6468
le_variant = zend_register_list_destructors_ex(php_VARIANT_destructor, NULL, "VARIANT", module_number);
@@ -109,60 +113,60 @@ PHP_MINIT_FUNCTION(VARIANT)
109113
return SUCCESS;
110114
}
111115

116+
112117
PHP_MSHUTDOWN_FUNCTION(VARIANT)
113118
{
114119
return SUCCESS;
115120
}
116121

122+
117123
PHPAPI int php_VARIANT_get_le_variant()
118124
{
119125
return le_variant;
120126
}
121127

128+
122129
static void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_property_reference *property_reference)
123130
{
124131
pval *object = property_reference->object;
125132
zend_overloaded_element *function_name = (zend_overloaded_element *) property_reference->elements_list->tail->data;
126133
VARIANT *pVar;
127134

128-
if((zend_llist_count(property_reference->elements_list)==1) && !strcmp(Z_STRVAL(function_name->element), "variant"))
129-
{
135+
if ((zend_llist_count(property_reference->elements_list)==1) && !strcmp(Z_STRVAL(function_name->element), "variant")) {
130136
/* constructor */
131137
pval *object_handle, *data, *type, *code_page;
132138

133139
ALLOC_VARIANT(pVar);
134140
VariantInit(pVar);
135141

136-
switch(ZEND_NUM_ARGS())
137-
{
142+
switch (ZEND_NUM_ARGS()) {
138143
case 0:
139144
/* nothing to do */
140145
break;
141146
case 1:
142-
getParameters(ht, 1, &data);
147+
zend_get_parameters(ht, 1, &data);
143148
php_pval_to_variant(data, pVar, codepage TSRMLS_CC);
144149
codepage = CP_ACP;
145150
break;
146151
case 2:
147-
getParameters(ht, 2, &data, &type);
152+
zend_get_parameters(ht, 2, &data, &type);
148153
php_pval_to_variant_ex(data, pVar, type, codepage TSRMLS_CC);
149154
codepage = CP_ACP;
150155
break;
151156
case 3:
152-
getParameters(ht, 3, &data, &type, &code_page);
157+
zend_get_parameters(ht, 3, &data, &type, &code_page);
153158
php_pval_to_variant_ex(data, pVar, type, codepage TSRMLS_CC);
154159
convert_to_long(code_page);
155160
codepage = code_page->value.lval;
156161
break;
157162
default:
158-
WRONG_PARAM_COUNT;
163+
ZEND_WRONG_PARAM_COUNT();
159164
break;
160165
}
161166

162167
RETVAL_LONG(zend_list_insert(pVar, IS_VARIANT));
163168

164-
if(!zend_is_true(return_value))
165-
{
169+
if (!zend_is_true(return_value)) {
166170
ZVAL_FALSE(object);
167171
return;
168172
}
@@ -176,43 +180,35 @@ static void php_VARIANT_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend
176180
}
177181
}
178182

183+
179184
static pval php_VARIANT_get_property_handler(zend_property_reference *property_reference)
180185
{
181186
zend_overloaded_element *overloaded_property;
182187
int type;
183-
TSRMLS_FETCH();
184-
185188
pval result, **var_handle, *object = property_reference->object;
186189
VARIANT *var_arg;
190+
TSRMLS_FETCH();
191+
187192

188193
/* fetch the VARIANT structure */
189194
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void **) &var_handle);
190195
var_arg = zend_list_find(Z_LVAL_PP(var_handle), &type);
191196

192-
if(!var_arg || (type != IS_VARIANT))
193-
{
197+
if (!var_arg || (type != IS_VARIANT)) {
194198
ZVAL_FALSE(&result);
195-
}
196-
else
197-
{
199+
} else {
198200
overloaded_property = (zend_overloaded_element *) property_reference->elements_list->head->data;
199-
switch(overloaded_property->type)
200-
{
201+
switch (overloaded_property->type) {
201202
case OE_IS_ARRAY:
202203
ZVAL_FALSE(&result);
203204
break;
204205

205206
case OE_IS_OBJECT:
206-
if(!strcmp(overloaded_property->element.value.str.val, "value"))
207-
{
208-
php_variant_to_pval(var_arg, &result, 0, codepage TSRMLS_CC);
209-
}
210-
else if(!strcmp(Z_STRVAL(overloaded_property->element), "type"))
211-
{
207+
if (!strcmp(overloaded_property->element.value.str.val, "value")) {
208+
php_variant_to_pval(var_arg, &result, codepage TSRMLS_CC);
209+
} else if (!strcmp(Z_STRVAL(overloaded_property->element), "type")) {
212210
ZVAL_LONG(&result, V_VT(var_arg))
213-
}
214-
else
215-
{
211+
} else {
216212
ZVAL_FALSE(&result);
217213
php_error(E_WARNING, "Unknown member.");
218214
}
@@ -229,192 +225,116 @@ static pval php_VARIANT_get_property_handler(zend_property_reference *property_r
229225
return result;
230226
}
231227

228+
232229
static int php_VARIANT_set_property_handler(zend_property_reference *property_reference, pval *value)
233230
{
234231
zend_overloaded_element *overloaded_property;
235232
int type;
236-
TSRMLS_FETCH();
237-
238233
pval **var_handle, *object = property_reference->object;
239234
VARIANT *var_arg;
235+
TSRMLS_FETCH();
236+
240237

241238
/* fetch the VARIANT structure */
242239
zend_hash_index_find(Z_OBJPROP_P(object), 0, (void **) &var_handle);
243240
var_arg = zend_list_find(Z_LVAL_PP(var_handle), &type);
244241

245-
if(!var_arg || (type != IS_VARIANT))
242+
if (!var_arg || (type != IS_VARIANT)) {
246243
return FAILURE;
244+
}
247245

248246
overloaded_property = (zend_overloaded_element *) property_reference->elements_list->head->data;
249247
do_VARIANT_propset(var_arg, &overloaded_property->element, value TSRMLS_CC);
250248
zval_dtor(&overloaded_property->element);
251249
return SUCCESS;
252250
}
253251

252+
254253
static int do_VARIANT_propset(VARIANT *var_arg, pval *arg_property, pval *value TSRMLS_DC)
255254
{
256255
pval type;
257256

258257
Z_TYPE(type) = IS_STRING;
259258

260-
if(!strcmp(Z_STRVAL_P(arg_property), "bVal"))
261-
{
259+
if (!strcmp(Z_STRVAL_P(arg_property), "bVal")) {
262260
Z_LVAL(type) = VT_UI1;
263-
}
264-
else if(!strcmp(Z_STRVAL_P(arg_property), "iVal"))
265-
{
261+
} else if (!strcmp(Z_STRVAL_P(arg_property), "iVal")) {
266262
Z_LVAL(type) = VT_I2;
267-
}
268-
else if(!strcmp(Z_STRVAL_P(arg_property), "lVal"))
269-
{
263+
} else if (!strcmp(Z_STRVAL_P(arg_property), "lVal")) {
270264
Z_LVAL(type) = VT_I4;
271-
}
272-
else if(!strcmp(Z_STRVAL_P(arg_property), "fltVal"))
273-
{
265+
} else if (!strcmp(Z_STRVAL_P(arg_property), "fltVal")) {
274266
Z_LVAL(type) = VT_R4;
275-
}
276-
else if(!strcmp(Z_STRVAL_P(arg_property), "dblVal"))
277-
{
267+
} else if (!strcmp(Z_STRVAL_P(arg_property), "dblVal")) {
278268
Z_LVAL(type) = VT_R8;
279-
}
280-
else if(!strcmp(Z_STRVAL_P(arg_property), "boolVal"))
281-
{
269+
} else if (!strcmp(Z_STRVAL_P(arg_property), "boolVal")) {
282270
Z_LVAL(type) = VT_BOOL;
283-
}
284-
else if(!strcmp(Z_STRVAL_P(arg_property), "scode"))
285-
{
271+
} else if (!strcmp(Z_STRVAL_P(arg_property), "scode")) {
286272
Z_LVAL(type) = VT_ERROR;
287-
}
288-
else if(!strcmp(Z_STRVAL_P(arg_property), "cyVal"))
289-
{
273+
} else if (!strcmp(Z_STRVAL_P(arg_property), "cyVal")) {
290274
Z_LVAL(type) = VT_CY;
291-
}
292-
else if(!strcmp(Z_STRVAL_P(arg_property), "date"))
293-
{
275+
} else if (!strcmp(Z_STRVAL_P(arg_property), "date")) {
294276
Z_LVAL(type) = VT_DATE;
295-
}
296-
else if(!strcmp(Z_STRVAL_P(arg_property), "bstrVal"))
297-
{
277+
} else if (!strcmp(Z_STRVAL_P(arg_property), "bstrVal")) {
298278
Z_LVAL(type) = VT_BSTR;
299-
}
300-
else if(!strcmp(Z_STRVAL_P(arg_property), "pdecVal"))
301-
{
279+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pdecVal")) {
302280
Z_LVAL(type) = VT_DECIMAL|VT_BYREF;
303-
}
304-
else if(!strcmp(Z_STRVAL_P(arg_property), "punkVal"))
305-
{
281+
} else if (!strcmp(Z_STRVAL_P(arg_property), "punkVal")) {
306282
Z_LVAL(type) = VT_UNKNOWN;
307-
}
308-
else if(!strcmp(Z_STRVAL_P(arg_property), "pdispVal"))
309-
{
283+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pdispVal")) {
310284
Z_LVAL(type) = VT_DISPATCH;
311-
}
312-
else if(!strcmp(Z_STRVAL_P(arg_property), "parray"))
313-
{
285+
} else if (!strcmp(Z_STRVAL_P(arg_property), "parray")) {
314286
Z_LVAL(type) = VT_ARRAY;
315-
}
316-
else if(!strcmp(Z_STRVAL_P(arg_property), "pbVal"))
317-
{
287+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pbVal")) {
318288
Z_LVAL(type) = VT_UI1|VT_BYREF;
319-
}
320-
else if(!strcmp(Z_STRVAL_P(arg_property), "piVal"))
321-
{
289+
} else if (!strcmp(Z_STRVAL_P(arg_property), "piVal")) {
322290
Z_LVAL(type) = VT_I2|VT_BYREF;
323-
}
324-
else if(!strcmp(Z_STRVAL_P(arg_property), "plVal"))
325-
{
291+
} else if (!strcmp(Z_STRVAL_P(arg_property), "plVal")) {
326292
Z_LVAL(type) = VT_I4|VT_BYREF;
327-
}
328-
else if(!strcmp(Z_STRVAL_P(arg_property), "pfltVal"))
329-
{
293+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pfltVal")) {
330294
Z_LVAL(type) = VT_R4|VT_BYREF;
331-
}
332-
else if(!strcmp(Z_STRVAL_P(arg_property), "pdblVal"))
333-
{
295+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pdblVal")) {
334296
Z_LVAL(type) = VT_R8|VT_BYREF;
335-
}
336-
else if(!strcmp(Z_STRVAL_P(arg_property), "pboolVal"))
337-
{
297+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pboolVal")) {
338298
Z_LVAL(type) = VT_BOOL|VT_BYREF;
339-
}
340-
else if(!strcmp(Z_STRVAL_P(arg_property), "pscode"))
341-
{
299+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pscode")) {
342300
Z_LVAL(type) = VT_ERROR|VT_BYREF;
343-
}
344-
else if(!strcmp(Z_STRVAL_P(arg_property), "pcyVal"))
345-
{
301+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pcyVal")) {
346302
Z_LVAL(type) = VT_CY|VT_BYREF;
347-
}
348-
else if(!strcmp(Z_STRVAL_P(arg_property), "pdate"))
349-
{
303+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pdate")) {
350304
Z_LVAL(type) = VT_DATE|VT_BYREF;
351-
}
352-
else if(!strcmp(Z_STRVAL_P(arg_property), "pbstrVal"))
353-
{
305+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pbstrVal")) {
354306
Z_LVAL(type) = VT_BSTR|VT_BYREF;
355-
}
356-
else if(!strcmp(Z_STRVAL_P(arg_property), "ppunkVal"))
357-
{
307+
} else if (!strcmp(Z_STRVAL_P(arg_property), "ppunkVal")) {
358308
Z_LVAL(type) = VT_UNKNOWN|VT_BYREF;
359-
}
360-
else if(!strcmp(Z_STRVAL_P(arg_property), "ppdispVal"))
361-
{
309+
} else if (!strcmp(Z_STRVAL_P(arg_property), "ppdispVal")) {
362310
Z_LVAL(type) = VT_DISPATCH|VT_BYREF;
363-
}
364-
else if(!strcmp(Z_STRVAL_P(arg_property), "pparray"))
365-
{
311+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pparray")) {
366312
Z_LVAL(type) = VT_ARRAY|VT_BYREF;
367-
}
368-
else if(!strcmp(Z_STRVAL_P(arg_property), "pvarVal"))
369-
{
313+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pvarVal")) {
370314
Z_LVAL(type) = VT_VARIANT|VT_BYREF;
371-
}
372-
else if(!strcmp(Z_STRVAL_P(arg_property), "byref"))
373-
{
315+
} else if (!strcmp(Z_STRVAL_P(arg_property), "byref")) {
374316
Z_LVAL(type) = VT_BYREF;
375-
}
376-
else if(!strcmp(Z_STRVAL_P(arg_property), "cVal"))
377-
{
317+
} else if (!strcmp(Z_STRVAL_P(arg_property), "cVal")) {
378318
Z_LVAL(type) = VT_I1;
379-
}
380-
else if(!strcmp(Z_STRVAL_P(arg_property), "uiVal"))
381-
{
319+
} else if (!strcmp(Z_STRVAL_P(arg_property), "uiVal")) {
382320
Z_LVAL(type) = VT_UI2;
383-
}
384-
else if(!strcmp(Z_STRVAL_P(arg_property), "ulVal"))
385-
{
321+
} else if (!strcmp(Z_STRVAL_P(arg_property), "ulVal")) {
386322
Z_LVAL(type) = VT_UI4;
387-
}
388-
else if(!strcmp(Z_STRVAL_P(arg_property), "intVal"))
389-
{
323+
} else if (!strcmp(Z_STRVAL_P(arg_property), "intVal")) {
390324
Z_LVAL(type) = VT_INT;
391-
}
392-
else if(!strcmp(Z_STRVAL_P(arg_property), "uintVal"))
393-
{
325+
} else if (!strcmp(Z_STRVAL_P(arg_property), "uintVal")) {
394326
Z_LVAL(type) = VT_UINT|VT_BYREF;
395-
}
396-
else if(!strcmp(Z_STRVAL_P(arg_property), "pcVal"))
397-
{
327+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pcVal")) {
398328
Z_LVAL(type) = VT_I1|VT_BYREF;
399-
}
400-
else if(!strcmp(Z_STRVAL_P(arg_property), "puiVal"))
401-
{
329+
} else if (!strcmp(Z_STRVAL_P(arg_property), "puiVal")) {
402330
Z_LVAL(type) = VT_UI2|VT_BYREF;
403-
}
404-
else if(!strcmp(Z_STRVAL_P(arg_property), "pulVal"))
405-
{
331+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pulVal")) {
406332
Z_LVAL(type) = VT_UI4|VT_BYREF;
407-
}
408-
else if(!strcmp(Z_STRVAL_P(arg_property), "pintVal"))
409-
{
333+
} else if (!strcmp(Z_STRVAL_P(arg_property), "pintVal")) {
410334
Z_LVAL(type) = VT_INT|VT_BYREF;
411-
}
412-
else if(!strcmp(Z_STRVAL_P(arg_property), "puintVal"))
413-
{
335+
} else if (!strcmp(Z_STRVAL_P(arg_property), "puintVal")) {
414336
Z_LVAL(type) = VT_UINT|VT_BYREF;
415-
}
416-
else
417-
{
337+
} else {
418338
php_error(E_WARNING, "Unknown member.");
419339
return FAILURE;
420340
}
@@ -424,6 +344,7 @@ static int do_VARIANT_propset(VARIANT *var_arg, pval *arg_property, pval *value
424344
return SUCCESS;
425345
}
426346

347+
427348
static void php_VARIANT_destructor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
428349
{
429350
FREE_VARIANT(rsrc->ptr);

0 commit comments

Comments
 (0)