32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
--- 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
|