diff options
Diffstat (limited to 'ext/com/COM.c')
-rw-r--r-- | ext/com/COM.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/com/COM.c b/ext/com/COM.c index 0063f426b1..aeae84ddcf 100644 --- a/ext/com/COM.c +++ b/ext/com/COM.c @@ -741,6 +741,15 @@ int do_COM_invoke(comval *obj, pval *function_name, VARIANT *var_result, pval ** } } + /* return a single element if next() was called without count */ + if((arg_count == 0) && (count == 1)) + { + long index[] = {1}; + + SafeArrayGetElement(pSA, index, var_result); + SafeArrayDestroy(pSA); + } + return SUCCESS; } else if(C_HASENUM(obj) && strstr(Z_STRVAL_P(function_name), "reset")) |