X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=charfuncs.c;h=c8a140ff2ff45686cac6804c522a83e033a70e62;hb=5ace83529b1fd3e46db32357c8716be51d921449;hp=3bfc3cc5261018cfe4c104b348546777171ce4a2;hpb=0f4971d043c38bae1bfb95201622a1405110f899;p=onak.git diff --git a/charfuncs.c b/charfuncs.c index 3bfc3cc..c8a140f 100644 --- a/charfuncs.c +++ b/charfuncs.c @@ -4,10 +4,9 @@ * Jonathan McDowell * * Copyright 2002 Project Purple - * - * $Id: charfuncs.c,v 1.2 2003/06/04 20:57:07 noodles Exp $ */ +#include #include #include #include @@ -23,7 +22,7 @@ int buffer_fetchchar(void *ctx, size_t count, unsigned char *c) { struct buffer_ctx *buf = NULL; - int i; + size_t i; buf = (struct buffer_ctx *) ctx; for (i = 0; i < count; i++) { @@ -47,7 +46,7 @@ int buffer_putchar(void *ctx, size_t count, unsigned char *c) { struct buffer_ctx *buf = NULL; size_t newsize = 0; - int i; + size_t i; buf = (struct buffer_ctx *) ctx; @@ -81,3 +80,19 @@ int file_putchar(void *fd, size_t count, unsigned char *c) { return !(write( *(int *) fd, c, count)); } + +/** + * stdin_getchar - Gets a char from stdin. + */ +int stdin_getchar(void *ctx, size_t count, unsigned char *c) +{ + return (fread(c, 1, count, stdin) != count); +} + +/** + * stdout_putchar - Puts a char to stdout. + */ +int stdout_putchar(void *ctx, size_t count, unsigned char *c) +{ + return (fwrite(c, 1, count, stdout) != count); +}