+ oident *oid = oid_getentbyoid(uif->direct_reference);
+ if (oid->value == VAL_OCLCUI) {
+ Z_OCLC_UserInformation *oclc_ui;
+ ODR decode = odr_createmem(ODR_DECODE);
+ odr_setbuf(decode, sat->buf, sat->len, 0);
+ if (!z_OCLC_UserInformation(decode, &oclc_ui, 0, 0))
+ printf ("Bad OCLC UserInformation:\n");
+ else
+ printf ("OCLC UserInformation:\n");
+ if (!z_OCLC_UserInformation(print, &oclc_ui, 0, 0))
+ printf ("Bad OCLC UserInformation spec\n");
+ odr_destroy(decode);
+ }
+ else
+ {
+ /* Peek at any private Init-diagnostic APDUs */
+ printf("### NAUGHTY: External is '%.*s'\n", sat->len, sat->buf);
+ }