38 odr_printf(o,
"OCTETSTRING(len=%d) ", (*p)->len);
41 (
char*) (*p)->buf, (*p)->len);
99 *(*p + t->
len) =
'\0';
137 size_t inleft = strlen(*p);
139 size_t outleft = 4 * inleft + 2;
140 char *outbuf = (
char *)
odr_malloc (o, outleft);
147 if (ret == (
size_t)(-1))
155 if (ret == (
size_t)(-1))
160 t->
len = outbuf - (
char*) t->
buf;
181 size_t inleft = t->
len;
182 char *inbuf = (
char *) t->
buf;
183 size_t outleft = 4 * inleft + 2;
184 char *outbuf = (
char *)
odr_malloc (o, outleft);
191 if (ret == (
size_t)(-1))
198 if (ret == (
size_t)(-1))
203 inleft = outbuf - (
char*) *p;
209 *p = (
char *) t->
buf;
210 *(*p + t->
len) =
'\0';
int ber_octetstring(ODR o, Odr_oct *p, int cons)
int ber_tag(ODR o, void *p, int zclass, int tag, int *constructed, int opt, const char *name)
Encode/decode BER tags.
Internal ODR definitions.
void odr_seterror(ODR o, int error, int id)
void odr_printf(ODR o, const char *fmt,...)
void * odr_malloc(ODR o, size_t size)
int odr_iconv_string(ODR o, char **p, int opt, const char *name)
int odr_octetstring(ODR o, Odr_oct **p, int opt, const char *name)
int odr_cstring(ODR o, char **p, int opt, const char *name)
void odr_prname(ODR o, const char *name)
int odr_missing(ODR o, int opt, const char *name)
size_t yaz_iconv(yaz_iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
just like iconv(3)
void(* stream_write)(ODR o, void *handle, int type, const char *buf, int len)