--- yaz-3.0.2/client/client.c.~1~ 2007-05-08 10:22:35.000000000 +0200 +++ yaz-3.0.2/client/client.c 2007-05-10 14:07:38.000000000 +0200 @@ -2335,6 +2335,7 @@ int noread = 0; Odr_oid *oid; char oid_str[51]; + union { unsigned char **ucp; char **cp; }pun; Z_APDU *apdu = zget_APDU(out, Z_APDU_extendedServicesRequest); Z_ExtendedServicesRequest *req = apdu->u.extendedServicesRequest; @@ -2346,7 +2347,7 @@ ext->indirect_reference = 0; ext->descriptor = 0; ext->which = Z_External_octet; - ext->u.single_ASN1_type = (Odr_oct *) odr_malloc (out, sizeof(Odr_oct)); + ext->u.single_ASN1_type = (Odr_oct *) odr_malloc (out, sizeof(Odr_oct)); sscanf(arg, "%50s%n", oid_str, &noread); if (noread == 0) { @@ -2354,7 +2355,8 @@ return 0; } arg += noread; - if (parse_cmd_doc(&arg, out, &asn_buf, + pun.ucp = &ext->u.single_ASN1_type->buf; + if (parse_cmd_doc(&arg, out, pun.ucp, &ext->u.single_ASN1_type->len, 0) == 0) return 0; Diff finished. Thu May 10 14:07:51 2007