/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2010 Index Data
+ * Copyright (C) Index Data
* See the file LICENSE for details.
*/
-/**
+/**
* \file ber_len.c
* \brief Implements BER length octet encoding and decoding
*
/**
* ber_declen:
- * Decode BER length octets. Returns
- * > 0 : number of bytes read
+ * Decode BER length octets. Returns
+ * > 0 : number of bytes read
* -1 : not enough room to read bytes within max bytes
* -2 : other error
*
* len = -1 indefinite length.
* len >= 0 definite length
*/
-int ber_declen(const unsigned char *buf, int *len, int max)
+int ber_declen(const char *buf, int *len, int max)
{
- const unsigned char *b = buf;
+ const unsigned char *b = (const unsigned char *) buf;
int n;
if (max < 1)
}
if (*b == 0XFF) /* reserved value */
return -2;
- /* indefinite long form */
+ /* indefinite long form */
n = *b & 0X7F;
if (n >= max)
return -1;
}
if (*len < 0)
return -2;
- return (b - buf);
+ return ((const char *) b - buf);
}
/*
* Local variables: