/*
- * $Id: hqx.c,v 1.17 2009-10-14 02:24:04 didg Exp $
+ * $Id: hqx.c,v 1.18 2010-01-27 21:27:53 didg Exp $
*/
#ifdef HAVE_CONFIG_H
#include <time.h>
#include <unistd.h>
-#ifdef HAVE_FCNTL_H
#include <fcntl.h>
-#endif /* HAVE_FCNTL_H */
#include <netinet/in.h>
#define BHH_CRCSIZ 2
#define BHH_HEADSIZ 21
-/* Forward declarations.
- */
-int skip_junk(int line);
-int hqx_close(int keepflag);
-int hqx_header_read(struct FHeader *fh);
-int hqx_header_write(struct FHeader *fh);
-int hqx_7tobin(char *outbuf, int datalen);
-int hqx7_fill(u_char *hqx7_ptr);
-
#if HEXOUTPUT
FILE *rawhex, *expandhex;
#endif /* HEXOUTPUT */
* return zero and no more than that.
*/
-int hqx_read(int fork, char *buffer, int length)
+ssize_t hqx_read(int fork, char *buffer, size_t length)
{
u_short storedcrc;
- int readlen;
- int cc;
+ size_t readlen;
+ size_t cc;
#if DEBUG >= 3
{
fprintf( stderr, "hqx_read: remaining length is %d\n", hqx.forklen[fork] );
#endif /* DEBUG >= 3 */
- if (hqx.forklen[fork] > length) {
- fprintf(stderr, "This should never happen, dude! length %d, fork length == %u\n", length, hqx.forklen[fork]);
- return hqx.forklen[fork];
+ if (hqx.forklen[fork] > 0x7FFFFFFF) {
+ fprintf(stderr, "This should never happen, dude!, fork length == %u\n", hqx.forklen[fork]);
+ return -1;
}
if ( hqx.forklen[ fork ] == 0 ) {
* it sets the pointers to the hqx7 buffer up to point to the valid data.
*/
-int hqx7_fill(u_char *hqx7_ptr)
+ssize_t hqx7_fill(u_char *hqx7_ptr)
{
- int cc;
- int cs;
+ ssize_t cc;
+ size_t cs;
cs = hqx7_ptr - hqx7_buf;
if ( cs >= sizeof( hqx7_buf )) return( -1 );
* file is reached.
*/
-int hqx_7tobin( char *outbuf, int datalen)
+size_t hqx_7tobin( char *outbuf, size_t datalen)
{
static u_char hqx8[3];
static int hqx8i;