projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Get rid of size member of Odr_oct
[yaz-moved-to-github.git]
/
src
/
odr_oct.c
diff --git
a/src/odr_oct.c
b/src/odr_oct.c
index
21fe3d2
..
fc06519
100644
(file)
--- a/
src/odr_oct.c
+++ b/
src/odr_oct.c
@@
-1,5
+1,5
@@
/* This file is part of the YAZ toolkit.
/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2012 Index Data
+ * Copyright (C) 1995-2013 Index Data
* See the file LICENSE for details.
*/
/**
* See the file LICENSE for details.
*/
/**
@@
-45,7
+45,9
@@
int odr_octetstring(ODR o, Odr_oct **p, int opt, const char *name)
if (o->direction == ODR_DECODE)
{
*p = (Odr_oct *)odr_malloc(o, sizeof(Odr_oct));
if (o->direction == ODR_DECODE)
{
*p = (Odr_oct *)odr_malloc(o, sizeof(Odr_oct));
+#if OCT_SIZE
(*p)->size= 0;
(*p)->size= 0;
+#endif
(*p)->len = 0;
(*p)->buf = 0;
}
(*p)->len = 0;
(*p)->buf = 0;
}
@@
-85,11
+87,16
@@
int odr_cstring(ODR o, char **p, int opt, const char *name)
if (o->direction == ODR_ENCODE)
{
t->buf = (unsigned char *) *p;
if (o->direction == ODR_ENCODE)
{
t->buf = (unsigned char *) *p;
- t->size = t->len = strlen(*p);
+ t->len = strlen(*p);
+#if OCT_SIZE
+ t->size = t->len;
+#endif
}
else
{
}
else
{
+#if OCT_SIZE
t->size= 0;
t->size= 0;
+#endif
t->len = 0;
t->buf = 0;
}
t->len = 0;
t->buf = 0;
}
@@
-141,9
+148,9
@@
int odr_iconv_string(ODR o, char **p, int opt, const char *name)
size_t outleft = 4 * inleft + 2;
char *outbuf = (char *) odr_malloc (o, outleft);
size_t ret;
size_t outleft = 4 * inleft + 2;
char *outbuf = (char *) odr_malloc (o, outleft);
size_t ret;
-
+
t->buf = (unsigned char *) outbuf;
t->buf = (unsigned char *) outbuf;
-
+
ret = yaz_iconv(o->op->iconv_handle, &inbuf, &inleft,
&outbuf, &outleft);
if (ret == (size_t)(-1))
ret = yaz_iconv(o->op->iconv_handle, &inbuf, &inleft,
&outbuf, &outleft);
if (ret == (size_t)(-1))
@@
-159,17
+166,25
@@
int odr_iconv_string(ODR o, char **p, int opt, const char *name)
odr_seterror(o, ODATA, 44);
return 0;
}
odr_seterror(o, ODATA, 44);
return 0;
}
- t->size = t->len = outbuf - (char*) t->buf;
+ t->len = outbuf - (char*) t->buf;
+#if OCT_SIZE
+ t->size = t->len;
+#endif
}
if (!t->buf)
{
t->buf = (unsigned char *) *p;
}
if (!t->buf)
{
t->buf = (unsigned char *) *p;
- t->size = t->len = strlen(*p);
+ t->len = strlen(*p);
+#if OCT_SIZE
+ t->size = t->len;
+#endif
}
}
else
{
}
}
else
{
+#if OCT_SIZE
t->size= 0;
t->size= 0;
+#endif
t->len = 0;
t->buf = 0;
}
t->len = 0;
t->buf = 0;
}
@@
-188,7
+203,7
@@
int odr_iconv_string(ODR o, char **p, int opt, const char *name)
size_t ret;
*p = outbuf;
size_t ret;
*p = outbuf;
-
+
ret = yaz_iconv (o->op->iconv_handle, &inbuf, &inleft,
&outbuf, &outleft);
if (ret == (size_t)(-1))
ret = yaz_iconv (o->op->iconv_handle, &inbuf, &inleft,
&outbuf, &outleft);
if (ret == (size_t)(-1))
@@
-204,7
+219,7
@@
int odr_iconv_string(ODR o, char **p, int opt, const char *name)
return 0;
}
inleft = outbuf - (char*) *p;
return 0;
}
inleft = outbuf - (char*) *p;
-
+
(*p)[inleft] = '\0'; /* null terminate it */
}
if (!*p)
(*p)[inleft] = '\0'; /* null terminate it */
}
if (!*p)