X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/62078c1601192c2594b954a122ac44a0c319c9bd..838b6820d59b49881d1cd097aff7e96049a60f9e:/charfuncs.c?ds=sidebyside diff --git a/charfuncs.c b/charfuncs.c index de68b66..52f1155 100644 --- a/charfuncs.c +++ b/charfuncs.c @@ -4,8 +4,11 @@ * Jonathan McDowell * * Copyright 2002 Project Purple + * + * $Id: charfuncs.c,v 1.3 2003/09/30 17:15:39 noodles Exp $ */ +#include #include #include #include @@ -79,3 +82,33 @@ 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) +{ + int ic = 0; + + while ((count > 0) && (ic != EOF)) { + ic = getchar(); + *c = ic; + c++; + count--; + } + + return (ic == EOF); +} + +/** + * stdout_putchar - Puts a char to stdout. + */ +int stdout_putchar(void *ctx, size_t count, unsigned char *c) +{ + int i; + + for (i = 0; i < count; i++) { + putchar(c[i]); + } + return 0; +}