projects
/
yaz-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
379504a
)
BITSTRING value shows value. Bug #2346
author
Adam Dickmeiss
<adam@indexdata.dk>
Fri, 16 Jan 2009 14:55:13 +0000
(15:55 +0100)
committer
Adam Dickmeiss
<adam@indexdata.dk>
Fri, 16 Jan 2009 14:55:13 +0000
(15:55 +0100)
src/odr_bit.c
patch
|
blob
|
history
diff --git
a/src/odr_bit.c
b/src/odr_bit.c
index
6b615d5
..
b7dcd76
100644
(file)
--- a/
src/odr_bit.c
+++ b/
src/odr_bit.c
@@
-37,8
+37,20
@@
int odr_bitstring(ODR o, Odr_bitmask **p, int opt, const char *name)
return odr_missing(o, opt, name);
if (o->direction == ODR_PRINT)
{
return odr_missing(o, opt, name);
if (o->direction == ODR_PRINT)
{
+ int i = ODR_BITMASK_SIZE;
+ int j;
odr_prname(o, name);
odr_prname(o, name);
- odr_printf(o, "BITSTRING(len=%d)\n",(*p)->top + 1);
+ odr_printf(o, "BITSTRING(len=%d) ",(*p)->top + 1);
+ while (--i > 0)
+ if (ODR_MASK_GET(*p, i))
+ break;
+ for (j = 0; j <= i; j++)
+ {
+ odr_printf(o, "%c", ODR_MASK_GET(*p, j) ? '1' : '0');
+ if (j && ((j+1)&7) == 0)
+ odr_printf(o, "-");
+ }
+ odr_printf(o, "\n");
return 1;
}
if (o->direction == ODR_DECODE)
return 1;
}
if (o->direction == ODR_DECODE)