From: Jonathan McDowell Date: Mon, 31 May 2004 23:47:53 +0000 (+0000) Subject: cscvs to tla changeset 93 X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/commitdiff_plain/8b782f377eff7672249d66423d3ca792574931e2?ds=inline cscvs to tla changeset 93 Author: noodles Date: 2003/09/28 20:33:34 Fix stupid bug where we always read at least one byte from stdin, even if we wanted none. --- diff --git a/onak.c b/onak.c index bba213b..903c8f0 100644 --- a/onak.c +++ b/onak.c @@ -7,7 +7,7 @@ * * Copyright 2002 Project Purple * - * $Id: onak.c,v 1.14 2003/06/07 13:37:33 noodles Exp $ + * $Id: onak.c,v 1.15 2003/09/28 20:33:34 noodles Exp $ */ #include @@ -28,13 +28,15 @@ int stdin_getchar(void *ctx, size_t count, unsigned char *c) { - int ic; + int ic = 0; - do { + while ((count > 0) && (ic != EOF)) { ic = getchar(); *c = ic; c++; - } while ((ic != EOF) && (--count > 0)); + count--; + } + return (ic == EOF); }