summaryrefslogtreecommitdiff
path: root/ext/snmp/snmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/snmp/snmp.c')
-rw-r--r--ext/snmp/snmp.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/ext/snmp/snmp.c b/ext/snmp/snmp.c
index 0403e30bbe..9998dff0a4 100644
--- a/ext/snmp/snmp.c
+++ b/ext/snmp/snmp.c
@@ -264,9 +264,17 @@ void php_snmp(INTERNAL_FUNCTION_PARAMETERS, int st) {
if (st >= 2) {
memmove((char *)name, (char *)root, rootlen * sizeof(oid));
name_length = rootlen;
- if (array_init(return_value) == FAILURE) {
- php_error(E_WARNING, "Cannot prepare result array");
- RETURN_FALSE;
+ switch(st) {
+ case 2:
+ case 3:
+ if (array_init(return_value) == FAILURE) {
+ php_error(E_WARNING, "Cannot prepare result array");
+ RETURN_FALSE;
+ }
+ break;
+ default:
+ RETVAL_TRUE;
+ break;
}
}