+static void otherInfo_attach (ZOOM_connection c, Z_APDU *a, ODR out)
+{
+ int i;
+ for (i = 0; i<200; i++)
+ {
+ size_t len;
+ Z_OtherInformation **oi;
+ char buf[20];
+ const char *val;
+ const char *cp;
+ int oidval;
+
+ sprintf (buf, "otherInfo%d", i);
+ val = ZOOM_options_get (c->options, buf);
+ if (!val)
+ break;
+ cp = strchr (val, ':');
+ if (!cp)
+ continue;
+ len = cp - val;
+ if (len >= sizeof(buf))
+ len = sizeof(buf)-1;
+ memcpy (buf, val, len);
+ buf[len] = '\0';
+ oidval = oid_getvalbyname (buf);
+ if (oidval == VAL_NONE)
+ continue;
+
+ yaz_oi_APDU(a, &oi);
+ yaz_oi_set_string_oidval(oi, out, oidval, 1, cp+1);
+ }
+}
+