From ca9b3511f855148458ef0b520965860b76a6761b Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Tue, 1 Feb 2011 01:02:00 +0000 Subject: [PATCH] - Fixed build --- ext/snmp/snmp.c | 62 +++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c index e8224d08f6..74b45832d9 100644 --- a/ext/snmp/snmp.c +++ b/ext/snmp/snmp.c @@ -507,7 +507,6 @@ static void php_snmp_object_free_storage(void *object TSRMLS_DC) static zend_object_value php_snmp_object_new(zend_class_entry *class_type TSRMLS_DC) /* {{{ */ { - zval *tmp; zend_object_value retval; php_snmp_object *intern; @@ -516,9 +515,9 @@ static zend_object_value php_snmp_object_new(zend_class_entry *class_type TSRMLS memset(&intern->zo, 0, sizeof(php_snmp_object)); zend_object_std_init(&intern->zo, class_type TSRMLS_CC); - zend_hash_copy(intern->zo.properties, &class_type->default_properties, (copy_ctor_func_t) zval_add_ref,(void *) &tmp, sizeof(zval *)); + object_properties_init(&intern->zo, class_type); - retval.handle = zend_objects_store_put(intern, NULL, (zend_objects_free_object_storage_t) php_snmp_object_free_storage, NULL TSRMLS_CC); + retval.handle = zend_objects_store_put(intern, (zend_objects_store_dtor_t)zend_objects_destroy_object, (zend_objects_free_object_storage_t) php_snmp_object_free_storage, NULL TSRMLS_CC); retval.handlers = (zend_object_handlers *) &php_snmp_object_handlers; return retval; @@ -894,7 +893,7 @@ retry: * OID parser (and type, value for SNMP_SET command) */ -static int php_snmp_parse_oid(int st, struct objid_set *objid_set, zval **oid, zval **type, zval **value) +static int php_snmp_parse_oid(int st, struct objid_set *objid_set, zval **oid, zval **type, zval **value TSRMLS_DC) { char *pptr; HashPosition pos_oid, pos_type, pos_value; @@ -1010,7 +1009,7 @@ static int php_snmp_parse_oid(int st, struct objid_set *objid_set, zval **oid, z /* {{{ netsnmp_session_init allocates memory for session and session->peername, caller should free it manually using netsnmp_session_free() and efree() */ -static int netsnmp_session_init(php_snmp_session **session_p, int version, char *hostname, char *community, int timeout, int retries) +static int netsnmp_session_init(php_snmp_session **session_p, int version, char *hostname, char *community, int timeout, int retries TSRMLS_DC) { int remote_port = SNMP_PORT; php_snmp_session *session; @@ -1064,7 +1063,7 @@ static int netsnmp_session_init(php_snmp_session **session_p, int version, char /* {{{ int netsnmp_session_set_sec_level(struct snmp_session *s, char *level) Set the security level in the snmpv3 session */ -static int netsnmp_session_set_sec_level(struct snmp_session *s, char *level TSRMLS_DC) +static int netsnmp_session_set_sec_level(struct snmp_session *s, char *level) { if (!strcasecmp(level, "noAuthNoPriv") || !strcasecmp(level, "nanp")) { s->securityLevel = SNMP_SEC_LEVEL_NOAUTH; @@ -1090,7 +1089,7 @@ static int netsnmp_session_set_auth_protocol(struct snmp_session *s, char *prot s->securityAuthProto = usmHMACSHA1AuthProtocol; s->securityAuthProtoLen = OIDSIZE(usmHMACSHA1AuthProtocol); } else { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown authentication protocol '%s'", prot TSRMLS_DC); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown authentication protocol '%s'", prot); return (-1); } return (0); @@ -1179,7 +1178,7 @@ static int netsnmp_session_gen_sec_key(struct snmp_session *s, u_char *pass TSRM /* {{{ in netsnmp_session_set_contextEngineID(struct snmp_session *s, u_char * contextEngineID) Set context Engine Id in the snmpv3 session */ -static int netsnmp_session_set_contextEngineID(struct snmp_session *s, u_char * contextEngineID) +static int netsnmp_session_set_contextEngineID(struct snmp_session *s, u_char * contextEngineID TSRMLS_DC) { size_t ebuf_len = 32, eout_len = 0; u_char *ebuf = (u_char *) malloc(ebuf_len); /* memory freed by SNMP library, strdup NOT estrdup */ @@ -1201,7 +1200,7 @@ static int netsnmp_session_set_contextEngineID(struct snmp_session *s, u_char * /* {{{ php_set_security(struct snmp_session *session, char *sec_level, char *auth_protocol, char *auth_passphrase, char *priv_protocol, char *priv_passphrase, char *contextName, char *contextEngineID) Set all snmpv3-related security options */ -static int netsnmp_session_set_security(struct snmp_session *session, char *sec_level, char *auth_protocol, char *auth_passphrase, char *priv_protocol, char *priv_passphrase, char *contextName, char *contextEngineID) +static int netsnmp_session_set_security(struct snmp_session *session, char *sec_level, char *auth_protocol, char *auth_passphrase, char *priv_protocol, char *priv_passphrase, char *contextName, char *contextEngineID TSRMLS_DC) { /* Setting the security level. */ @@ -1213,26 +1212,26 @@ static int netsnmp_session_set_security(struct snmp_session *session, char *sec_ if (session->securityLevel == SNMP_SEC_LEVEL_AUTHNOPRIV || session->securityLevel == SNMP_SEC_LEVEL_AUTHPRIV) { /* Setting the authentication protocol. */ - if (netsnmp_session_set_auth_protocol(session, auth_protocol)) { + if (netsnmp_session_set_auth_protocol(session, auth_protocol TSRMLS_CC)) { /* Warning message sent already, just bail out */ return (-1); } /* Setting the authentication passphrase. */ - if (netsnmp_session_gen_auth_key(session, auth_passphrase)) { + if (netsnmp_session_gen_auth_key(session, auth_passphrase TSRMLS_CC)) { /* Warning message sent already, just bail out */ return (-1); } if (session->securityLevel == SNMP_SEC_LEVEL_AUTHPRIV) { /* Setting the security protocol. */ - if (netsnmp_session_set_sec_protocol(session, priv_protocol)) { + if (netsnmp_session_set_sec_protocol(session, priv_protocol TSRMLS_CC)) { /* Warning message sent already, just bail out */ return (-1); } /* Setting the security protocol passphrase. */ - if (netsnmp_session_gen_sec_key(session, priv_passphrase)) { + if (netsnmp_session_gen_sec_key(session, priv_passphrase TSRMLS_CC)) { /* Warning message sent already, just bail out */ return (-1); } @@ -1246,7 +1245,7 @@ static int netsnmp_session_set_security(struct snmp_session *session, char *sec_ } /* Setting contextEngineIS if specified */ - if (contextEngineID && strlen(contextEngineID) && netsnmp_session_set_contextEngineID(session, contextEngineID)) { + if (contextEngineID && strlen(contextEngineID) && netsnmp_session_set_contextEngineID(session, contextEngineID TSRMLS_CC)) { /* Warning message sent already, just bail out */ return (-1); } @@ -1330,15 +1329,15 @@ static void php_snmp(INTERNAL_FUNCTION_PARAMETERS, int st, int version) } } - if (!php_snmp_parse_oid(st, &objid_set, oid, type, value)) { + if (!php_snmp_parse_oid(st, &objid_set, oid, type, value TSRMLS_CC)) { RETURN_FALSE; } if (session_less_mode) { - if (netsnmp_session_init(&session, version, a1, a2, timeout, retries)) { + if (netsnmp_session_init(&session, version, a1, a2, timeout, retries TSRMLS_CC)) { RETURN_FALSE; } - if (version == SNMP_VERSION_3 && netsnmp_session_set_security(session, a3 TSRMLS_CC, a4 TSRMLS_CC, a5 TSRMLS_CC, a6 TSRMLS_CC, a7 TSRMLS_CC, NULL, NULL)) { + if (version == SNMP_VERSION_3 && netsnmp_session_set_security(session, a3, a4, a5, a6, a7, NULL, NULL TSRMLS_CC)) { /* Warning message sent already, just bail out */ RETURN_FALSE; } @@ -1594,7 +1593,7 @@ PHP_FUNCTION(snmp_set_valueretrieval) RETURN_TRUE; break; default: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown SNMP value retrieval method '%d'", method); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown SNMP value retrieval method '%ld'", method); RETURN_FALSE; } } @@ -1676,7 +1675,7 @@ PHP_METHOD(snmp, open) return; } - if (netsnmp_session_init(&(snmp_object->session), version, a1, a2, timeout, retries)) { + if (netsnmp_session_init(&(snmp_object->session), version, a1, a2, timeout, retries TSRMLS_CC)) { return; } snmp_object->valueretrieval = SNMP_G(valueretrieval); @@ -1721,7 +1720,6 @@ PHP_METHOD(snmp, get) Fetch a SNMP object returing scalar for single OID and array of oid->value pairs for multi OID request */ PHP_METHOD(snmp, getnext) { - zval *object = getThis(); php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU, SNMP_CMD_GETNEXT, (-1)); } /* }}} */ @@ -1730,7 +1728,6 @@ PHP_METHOD(snmp, getnext) Return all objects including their respective object id withing the specified one as array of oid->value pairs */ PHP_METHOD(snmp, walk) { - zval *object = getThis(); php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU, SNMP_CMD_WALK, (-1)); } /* }}} */ @@ -1739,7 +1736,6 @@ PHP_METHOD(snmp, walk) Set the value of a SNMP object */ PHP_METHOD(snmp, set) { - zval *object = getThis(); php_snmp(INTERNAL_FUNCTION_PARAM_PASSTHRU, SNMP_CMD_SET, (-1)); } @@ -1760,7 +1756,7 @@ PHP_METHOD(snmp, set_security) RETURN_FALSE; } - if (netsnmp_session_set_security(snmp_object->session, a1, a2, a3, a4, a5, a6, a7)) { + if (netsnmp_session_set_security(snmp_object->session, a1, a2, a3, a4, a5, a6, a7 TSRMLS_CC)) { /* Warning message sent already, just bail out */ RETURN_FALSE; } @@ -1783,7 +1779,7 @@ void php_snmp_add_property(HashTable *h, const char *name, size_t name_length, p /* {{{ php_snmp_read_property(zval *object, zval *member, int type) Generic object property reader */ -zval *php_snmp_read_property(zval *object, zval *member, int type TSRMLS_DC) +zval *php_snmp_read_property(zval *object, zval *member, int type, const zend_literal *key TSRMLS_DC) { zval tmp_member; zval *retval; @@ -1813,7 +1809,7 @@ zval *php_snmp_read_property(zval *object, zval *member, int type TSRMLS_DC) } } else { zend_object_handlers * std_hnd = zend_get_std_object_handlers(); - retval = std_hnd->read_property(object, member, type TSRMLS_CC); + retval = std_hnd->read_property(object, member, type, key TSRMLS_CC); } if (member == &tmp_member) { @@ -1825,7 +1821,7 @@ zval *php_snmp_read_property(zval *object, zval *member, int type TSRMLS_DC) /* {{{ php_snmp_write_property(zval *object, zval *member, zval *value) Generic object property writer */ -void php_snmp_write_property(zval *object, zval *member, zval *value TSRMLS_DC) +void php_snmp_write_property(zval *object, zval *member, zval *value, const zend_literal *key TSRMLS_DC) { zval tmp_member; php_snmp_object *obj; @@ -1852,7 +1848,7 @@ void php_snmp_write_property(zval *object, zval *member, zval *value TSRMLS_DC) } } else { zend_object_handlers * std_hnd = zend_get_std_object_handlers(); - std_hnd->write_property(object, member, value TSRMLS_CC); + std_hnd->write_property(object, member, value, key TSRMLS_CC); } if (member == &tmp_member) { @@ -1863,7 +1859,7 @@ void php_snmp_write_property(zval *object, zval *member, zval *value TSRMLS_DC) /* {{{ php_snmp_has_property(zval *object, zval *member, int has_set_exists) Generic object property checker */ -static int php_snmp_has_property(zval *object, zval *member, int has_set_exists TSRMLS_DC) +static int php_snmp_has_property(zval *object, zval *member, int has_set_exists, const zend_literal *key TSRMLS_DC) { php_snmp_object *obj = (php_snmp_object *)zend_objects_get_address(object TSRMLS_CC); php_snmp_prop_handler *hnd; @@ -1875,7 +1871,7 @@ static int php_snmp_has_property(zval *object, zval *member, int has_set_exists ret = 1; break; case 0: { - zval *value = php_snmp_read_property(object, member, BP_VAR_IS TSRMLS_CC); + zval *value = php_snmp_read_property(object, member, BP_VAR_IS, key TSRMLS_CC); if (value != EG(uninitialized_zval_ptr)) { ret = Z_TYPE_P(value) != IS_NULL? 1:0; /* refcount is 0 */ @@ -1885,7 +1881,7 @@ static int php_snmp_has_property(zval *object, zval *member, int has_set_exists break; } default: { - zval *value = php_snmp_read_property(object, member, BP_VAR_IS TSRMLS_CC); + zval *value = php_snmp_read_property(object, member, BP_VAR_IS, key TSRMLS_CC); if (value != EG(uninitialized_zval_ptr)) { convert_to_boolean(value); ret = Z_BVAL_P(value)? 1:0; @@ -1898,7 +1894,7 @@ static int php_snmp_has_property(zval *object, zval *member, int has_set_exists } } else { zend_object_handlers * std_hnd = zend_get_std_object_handlers(); - ret = std_hnd->has_property(object, member, has_set_exists TSRMLS_CC); + ret = std_hnd->has_property(object, member, has_set_exists, key TSRMLS_CC); } return ret; } @@ -1992,7 +1988,7 @@ static int php_snmp_write_valueretrieval(php_snmp_object *snmp_object, zval *new snmp_object->valueretrieval = Z_LVAL_P(newval); break; default: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown SNMP value retrieval method '%d'", Z_LVAL_P(newval)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown SNMP value retrieval method '%ld'", Z_LVAL_P(newval)); ret = FAILURE; break; } @@ -2068,7 +2064,7 @@ static int php_snmp_write_oid_output_format(php_snmp_object *snmp_object, zval * snmp_object->oid_output_format = Z_LVAL_P(newval); break; default: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown SNMP output print format '%d'", Z_LVAL_P(newval)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown SNMP output print format '%ld'", Z_LVAL_P(newval)); ret = FAILURE; break; } -- 2.40.0