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
Simple refactor due to yaz_match_xsd_element 0 check YAZ-822
[yaz-moved-to-github.git]
/
src
/
ber_tag.c
diff --git
a/src/ber_tag.c
b/src/ber_tag.c
index
69cdc8e
..
0443857
100644
(file)
--- a/
src/ber_tag.c
+++ b/
src/ber_tag.c
@@
-1,9
+1,9
@@
/* This file is part of the YAZ toolkit.
/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) Index Data
* See the file LICENSE for details.
*/
* See the file LICENSE for details.
*/
-/**
+/**
* \file ber_tag.c
* \brief Implements BER tags encoding and decoding
*
* \file ber_tag.c
* \brief Implements BER tags encoding and decoding
*
@@
-44,8
+44,8
@@
int ber_tag(ODR o, void *p, int zclass, int tag, int *constructed, int opt,
if (ODR_STACK_EMPTY(o))
{
odr_seek(o, ODR_S_SET, 0);
if (ODR_STACK_EMPTY(o))
{
odr_seek(o, ODR_S_SET, 0);
- o->top = 0;
- o->bp = o->buf;
+ o->op->top = 0;
+ o->op->bp = o->op->buf;
odr_ber_tag->lclass = -1;
}
switch (o->direction)
odr_ber_tag->lclass = -1;
}
switch (o->direction)
@@
-76,7
+76,7
@@
int ber_tag(ODR o, void *p, int zclass, int tag, int *constructed, int opt,
if (odr_ber_tag->lclass < 0)
{
if ((odr_ber_tag->br =
if (odr_ber_tag->lclass < 0)
{
if ((odr_ber_tag->br =
- ber_dectag(o->bp, &odr_ber_tag->lclass,
+ ber_dectag(o->op->bp, &odr_ber_tag->lclass,
&odr_ber_tag->ltag, &odr_ber_tag->lcons,
odr_max(o))) <= 0)
{
&odr_ber_tag->ltag, &odr_ber_tag->lcons,
odr_max(o))) <= 0)
{
@@
-87,7
+87,7
@@
int ber_tag(ODR o, void *p, int zclass, int tag, int *constructed, int opt,
}
if (zclass == odr_ber_tag->lclass && tag == odr_ber_tag->ltag)
{
}
if (zclass == odr_ber_tag->lclass && tag == odr_ber_tag->ltag)
{
- o->bp += odr_ber_tag->br;
+ o->op->bp += odr_ber_tag->br;
*constructed = odr_ber_tag->lcons;
odr_ber_tag->lclass = -1;
return 1;
*constructed = odr_ber_tag->lcons;
odr_ber_tag->lclass = -1;
return 1;
@@
-157,14
+157,15
@@
int ber_enctag(ODR o, int zclass, int tag, int constructed)
}
}
}
}
-/**
+/**
* \brief Decodes BER identifier octets.
*
* Returns number of bytes read or -1 for error.
*/
* \brief Decodes BER identifier octets.
*
* Returns number of bytes read or -1 for error.
*/
-int ber_dectag(const unsigned char *b, int *zclass, int *tag,
+int ber_dectag(const char *cp, int *zclass, int *tag,
int *constructed, int max)
{
int *constructed, int max)
{
+ const unsigned char *b = (const unsigned char *) cp;
int l = 1;
if (l > max)
int l = 1;
if (l > max)