kalle Fri Nov 7 11:05:24 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/snmp winsnmp.c Log: MFH: New parameter parsing API http://cvs.php.net/viewvc.cgi/php-src/ext/snmp/winsnmp.c?r1=1.16.4.2.4.1&r2=1.16.4.2.4.2&diff_format=u Index: php-src/ext/snmp/winsnmp.c diff -u php-src/ext/snmp/winsnmp.c:1.16.4.2.4.1 php-src/ext/snmp/winsnmp.c:1.16.4.2.4.2 --- php-src/ext/snmp/winsnmp.c:1.16.4.2.4.1 Thu Sep 27 18:00:43 2007 +++ php-src/ext/snmp/winsnmp.c Fri Nov 7 11:05:24 2008 @@ -57,34 +57,32 @@ /* {{{ _php_snmp */ -void _php_snmp(INTERNAL_FUNCTION_PARAMETERS, int st) { - zval *a1, *a2, *a3; - INT operation; - LPSTR agent; - LPSTR community; - RFC1157VarBindList variableBindings; - LPSNMP_MGR_SESSION session; - - INT timeout = TIMEOUT; - INT retries = RETRIES; - - BYTE requestType; - AsnInteger errorStatus; - AsnInteger errorIndex; - AsnObjectIdentifier oid; - char *chkPtr = NULL; +void _php_snmp(INTERNAL_FUNCTION_PARAMETERS, int st) +{ + INT operation; - if (zend_get_parameters_ex(3, &a1, &a2, &a3) == FAILURE) { - WRONG_PARAM_COUNT; + RFC1157VarBindList variableBindings; + LPSNMP_MGR_SESSION session; + + char *agent, *community, *object_id; + int agent_len, community_len, object_id_len; + + INT timeout = TIMEOUT; + INT retries = RETRIES; + + BYTE requestType; + AsnInteger errorStatus; + AsnInteger errorIndex; + AsnObjectIdentifier oid; + + char *chkPtr = NULL; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sss", &agent, &agent_len, &community, &community_len, &object_id, &object_id_len) == FAILURE) { + return; } - convert_to_string_ex(a1); - convert_to_string_ex(a2); - convert_to_string_ex(a3); - - agent=Z_STRVAL_PP(a1); - community=Z_STRVAL_PP(a2); - operation=st; - SnmpMgrStrToOid(Z_STRVAL_PP(a3), &oid); + + operation = st; + SnmpMgrStrToOid(object_id, &oid); /* I've limited this to only one oid, but we can create a
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php