diff options
author | Harald Radi <phanto@php.net> | 2001-05-13 14:15:26 +0000 |
---|---|---|
committer | Harald Radi <phanto@php.net> | 2001-05-13 14:15:26 +0000 |
commit | 04a5d124aa527e689974d5f5c0c0607ecfe712c1 (patch) | |
tree | 508c7f7ca0ebcddda4b268e496af513bfbd6c570 /ext/rpc/dotnet/dotnet.cpp | |
parent | 74ce7ee6c586f5ccf46c32ba3996c24a1fdbe066 (diff) | |
download | php-git-04a5d124aa527e689974d5f5c0c0607ecfe712c1.tar.gz |
@added an additional parameter to dotnet_load to specify the codepage (phanto)
Diffstat (limited to 'ext/rpc/dotnet/dotnet.cpp')
-rw-r--r-- | ext/rpc/dotnet/dotnet.cpp | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/ext/rpc/dotnet/dotnet.cpp b/ext/rpc/dotnet/dotnet.cpp index 0e65bfe630..f99b6935ad 100644 --- a/ext/rpc/dotnet/dotnet.cpp +++ b/ext/rpc/dotnet/dotnet.cpp @@ -13,6 +13,7 @@ | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Author: Sam Ruby <rubys@us.ibm.com> | + | Harald Radi <h.radi@nme.at> | +----------------------------------------------------------------------+ */ @@ -101,21 +102,32 @@ void dotnet_term() { pDomain = 0; } -/* {{{ proto int dotnet_load(string module_name) +/* {{{ proto int dotnet_load(string assembly_name [, string datatype_name, int codepage]) Loads a DOTNET module */ -PHP_FUNCTION(DOTNET_load) +PHP_FUNCTION(dotnet_load) { HRESULT hr; - pval *assembly_name, *datatype_name; + pval *assembly_name, *datatype_name, *code_page; OLECHAR *assembly, *datatype; i_dispatch *obj; - if (ZEND_NUM_ARGS() != 2) WRONG_PARAM_COUNT; - - /* should be made configurable like in ext/com */ - codepage = CP_ACP; + switch(ZEND_NUM_ARGS()) + { + case 2: + getParameters(ht, 2, &assembly_name, &datatype_name); + codepage = CP_ACP; + break; + case 3: + getParameters(ht, 3, &assembly_name, &datatype_name, &code_page); + + convert_to_long(code_page); + codepage = code_page->value.lval; + break; + default: + WRONG_PARAM_COUNT; + break; + } - getParameters(ht, 2, &assembly_name, &datatype_name); convert_to_string(assembly_name); assembly = php_char_to_OLECHAR(assembly_name->value.str.val, assembly_name->value.str.len, codepage); @@ -156,7 +168,7 @@ void php_DOTNET_call_function_handler(INTERNAL_FUNCTION_PARAMETERS, zend_propert && !strcmp(function_name->element.value.str.val, "dotnet")) { /* constructor */ pval *object_handle; - PHP_FN(DOTNET_load)(INTERNAL_FUNCTION_PARAM_PASSTHRU); + PHP_FN(dotnet_load)(INTERNAL_FUNCTION_PARAM_PASSTHRU); if (!zend_is_true(return_value)) { var_reset(object); return; |