X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=bin%2Fmegatron%2Fmacbin.c;h=349a7e1efc8725875dd4503d0bd3a46656ccb496;hb=refs%2Ftags%2Fbranch-dircache-rewrite-start;hp=1b2dd197a665efeba762772576fe600a0c35ca0d;hpb=4d844c05e445384e846794f71a1a4d2b0a3d56fc;p=netatalk.git diff --git a/bin/megatron/macbin.c b/bin/megatron/macbin.c index 1b2dd197..349a7e1e 100644 --- a/bin/megatron/macbin.c +++ b/bin/megatron/macbin.c @@ -1,5 +1,5 @@ /* - * $Id: macbin.c,v 1.14 2009-10-14 01:38:28 didg Exp $ + * $Id: macbin.c,v 1.15 2010-01-27 21:27:53 didg Exp $ */ #ifdef HAVE_CONFIG_H @@ -167,11 +167,11 @@ int bin_close(int keepflag) * return zero and no more than that. */ -int bin_read( int fork, char *buffer, int length) +ssize_t bin_read( int fork, char *buffer, size_t length) { char *buf_ptr; - int readlen; - int cc = 1; + size_t readlen; + ssize_t cc = 1; off_t pos; #if DEBUG >= 3 @@ -179,9 +179,9 @@ int bin_read( int fork, char *buffer, int length) fprintf( stderr, "bin_read: remaining length is %d\n", bin.forklen[fork] ); #endif /* DEBUG >= 3 */ - if (bin.forklen[fork] > length) { - fprintf(stderr, "This should never happen, dude! length %d, fork length == %u\n", length, bin.forklen[fork]); - return bin.forklen[fork]; + if (bin.forklen[fork] > 0x7FFFFFFF) { + fprintf(stderr, "This should never happen, dude! fork length == %u\n", bin.forklen[fork]); + return -1; } if ( bin.forklen[ fork ] == 0 ) { @@ -236,11 +236,11 @@ int bin_read( int fork, char *buffer, int length) * bin_write */ -int bin_write(int fork, char *buffer, int length) +ssize_t bin_write(int fork, char *buffer, size_t length) { char *buf_ptr; - int writelen; - int cc = 0; + size_t writelen; + ssize_t cc = 0; off_t pos; u_char padchar = 0x7f; /* Not sure why, but it seems this must be 0x7f to match @@ -278,11 +278,6 @@ int bin_write(int fork, char *buffer, int length) return( cc ); } - if (length > bin.forklen[fork]) { - fprintf(stderr, "This should never happen, dude! length %d, fork length %u\n", length, bin.forklen[fork]); - return bin.forklen[fork]; - } - bin.forklen[fork] -= length; /*