buffer_readonly_clone(buf,buf_in);
if (!unpick_msg(st,type,buf,m)) {
+ priomsg_update_fixed(whynot, comm_notify_whynot_unpick, "malformed");
return False;
}
-#define NAME_MATCHES(lr) \
- if (!name_matches(&m->lr, st->lr##name)) { \
- return False; \
+#define NAME_MATCHES(lr) \
+ if (!name_matches(&m->lr, st->lr##name)) { \
+ if (priomsg_update_fixed(whynot, comm_notify_whynot_name_##lr, \
+ "unknown " #lr " name: ")) { \
+ truncmsg_add_packet_string(&whynot->m, m->lr.len, m->lr.name); \
+ } \
+ return False; \
}
NAME_MATCHES(remote);
NAME_MATCHES(local );
return True;
}
- if (priomsg_update_p(whynot, comm_notify_whynot_general))
- truncmsg_add_string(&whynot->m,
- "not MSG1 or PROD; unknown dest index");
+ priomsg_update_fixed(whynot, comm_notify_whynot_general,
+ "not MSG1 or PROD; unknown dest index");
return False;
}