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
Example of punctuals removal at sentence end
[yaz-moved-to-github.git]
/
src
/
ber_int.c
diff --git
a/src/ber_int.c
b/src/ber_int.c
index
2d55921
..
e7ed655
100644
(file)
--- a/
src/ber_int.c
+++ b/
src/ber_int.c
@@
-1,5
+1,5
@@
/* This file is part of the YAZ toolkit.
/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2009 Index Data
+ * Copyright (C) 1995-2011 Index Data
* See the file LICENSE for details.
*/
* See the file LICENSE for details.
*/
@@
-60,20
+60,21
@@
int ber_integer(ODR o, Odr_int *val)
*/
int ber_encinteger(ODR o, Odr_int val)
{
*/
int ber_encinteger(ODR o, Odr_int val)
{
- unsigned char tmp[sizeof(Odr_int)];
unsigned long long uval = val;
unsigned long long uval = val;
- int i, len;
+ unsigned char tmp[sizeof(uval)];
+ int len;
+ size_t i;
for (i = sizeof(uval); i > 0; )
{
tmp[--i] = uval;
uval >>= 8;
}
for (i = sizeof(uval); i > 0; )
{
tmp[--i] = uval;
uval >>= 8;
}
- for (i = 0; i < sizeof(Odr_int)-1; i++)
+ for (i = 0; i < sizeof(uval)-1; i++)
if (!((tmp[i] == 0 && !(tmp[i+1] & 0x80))
||
(tmp[i] == 0xFF && (tmp[i+1] & 0x80))))
break;
if (!((tmp[i] == 0 && !(tmp[i+1] & 0x80))
||
(tmp[i] == 0xFF && (tmp[i+1] & 0x80))))
break;
- len = sizeof(Odr_int) - i;
+ len = sizeof(uval) - i;
if (ber_enclen(o, len, 1, 1) != 1)
return -1;
if (odr_write(o, (unsigned char*) tmp + i, len) < 0)
if (ber_enclen(o, len, 1, 1) != 1)
return -1;
if (odr_write(o, (unsigned char*) tmp + i, len) < 0)
@@
-95,12
+96,12
@@
int ber_decinteger(const unsigned char *buf, Odr_int *val, int max)
return -1;
if (len+res > max || len < 0) /* out of bounds or indefinite encoding */
return -1;
return -1;
if (len+res > max || len < 0) /* out of bounds or indefinite encoding */
return -1;
- if (len > (int) sizeof(Odr_int)) /* let's be reasonable, here */
+ if (len > (int) sizeof(uval)) /* let's be reasonable, here */
return -1;
b += res;
if (*b & 0x80)
return -1;
b += res;
if (*b & 0x80)
- for (; i < sizeof(uval) - len; i++)
+ for (i = 0; i < (int) sizeof(uval) - len; i++)
uval = (uval << 8) + 0xFF;
for (i = 0; i < len; i++)
uval = (uval << 8) + b[i];
uval = (uval << 8) + 0xFF;
for (i = 0; i < len; i++)
uval = (uval << 8) + b[i];