summaryrefslogtreecommitdiff
path: root/omapip/dispatch.c
diff options
context:
space:
mode:
authorTed Lemon <source@isc.org>2000-09-12 21:53:15 +0000
committerTed Lemon <source@isc.org>2000-09-12 21:53:15 +0000
commit645eab7becb284beb3dacb81313fe7a8e26976ea (patch)
tree35ac19902c7e163b8afdbe46498f671f51ad383c /omapip/dispatch.c
parent3782236d613a66832aeba8104f387b041868e56d (diff)
downloadisc-dhcp-645eab7becb284beb3dacb81313fe7a8e26976ea.tar.gz
Print more information when bad socket is found.
Diffstat (limited to 'omapip/dispatch.c')
-rw-r--r--omapip/dispatch.c30
1 files changed, 26 insertions, 4 deletions
diff --git a/omapip/dispatch.c b/omapip/dispatch.c
index 2701d7b9..0a8a01b1 100644
--- a/omapip/dispatch.c
+++ b/omapip/dispatch.c
@@ -326,10 +326,32 @@ isc_result_t omapi_one_dispatch (omapi_object_t *wo,
obj -> outer;
obj = obj -> outer)
;
- for (; obj; obj = obj -> inner)
- log_error ("Object %lx %s",
- (unsigned long)obj,
- obj -> type -> name);
+ for (; obj; obj = obj -> inner) {
+ omapi_value_t *ov;
+ int len;
+ const char *s;
+ ov = (omapi_value_t *)0;
+ omapi_get_value_str (obj,
+ (omapi_object_t *)0,
+ "name", &ov);
+ if (ov && ov -> value &&
+ (ov -> value -> type ==
+ omapi_datatype_string)) {
+ s = (char *)
+ ov -> value -> u.buffer.value;
+ len = ov -> value -> u.buffer.len;
+ } else {
+ s = "";
+ len = 0;
+ }
+ log_error ("Object %lx %s%s%.*s",
+ (unsigned long)obj,
+ obj -> type -> name,
+ len ? " " : "",
+ len, s);
+ if (len)
+ omapi_value_dereference (&ov, MDL);
+ }
status = (*(io -> reaper)) (io -> inner);
goto again;
}