From 047b8ed75bbac19ef33690bd44746718a8261439 Mon Sep 17 00:00:00 2001 From: Jonathan McDowell Date: Mon, 31 May 2004 23:47:56 +0000 Subject: [PATCH] cscvs to tla changeset 97 Author: noodles Date: 2003/09/30 17:15:39 Move stdin/out character functions to charfuncs.c for easier reuse. --- charfuncs.c | 33 ++++++++++++++++++++++++++++++++- charfuncs.h | 11 ++++++++++- onak.c | 27 ++------------------------- 3 files changed, 44 insertions(+), 27 deletions(-) diff --git a/charfuncs.c b/charfuncs.c index 3bfc3cc..52f1155 100644 --- a/charfuncs.c +++ b/charfuncs.c @@ -5,9 +5,10 @@ * * Copyright 2002 Project Purple * - * $Id: charfuncs.c,v 1.2 2003/06/04 20:57:07 noodles Exp $ + * $Id: charfuncs.c,v 1.3 2003/09/30 17:15:39 noodles Exp $ */ +#include #include #include #include @@ -81,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; +} diff --git a/charfuncs.h b/charfuncs.h index e350143..ffa7bf9 100644 --- a/charfuncs.h +++ b/charfuncs.h @@ -5,7 +5,7 @@ * * Copyright 2002 Project Purple * - * $Id: charfuncs.h,v 1.2 2003/06/04 20:57:07 noodles Exp $ + * $Id: charfuncs.h,v 1.3 2003/09/30 17:15:39 noodles Exp $ */ #ifndef __CHARFUNCS_H__ @@ -55,5 +55,14 @@ int file_fetchchar(void *fd, size_t count, unsigned char *c); */ int file_putchar(void *fd, size_t count, unsigned char *c); +/** + * stdin_getchar - Gets a char from stdin. + */ +int stdin_getchar(void *ctx, size_t count, unsigned char *c); + +/** + * stdout_putchar - Puts a char to stdout. + */ +int stdout_putchar(void *ctx, size_t count, unsigned char *c); #endif /* __CHARFUNCS_H__ */ diff --git a/onak.c b/onak.c index 903c8f0..b69c594 100644 --- a/onak.c +++ b/onak.c @@ -7,7 +7,7 @@ * * Copyright 2002 Project Purple * - * $Id: onak.c,v 1.15 2003/09/28 20:33:34 noodles Exp $ + * $Id: onak.c,v 1.16 2003/09/30 17:15:39 noodles Exp $ */ #include @@ -16,6 +16,7 @@ #include #include "armor.h" +#include "charfuncs.h" #include "keydb.h" #include "keyid.h" #include "keyindex.h" @@ -26,30 +27,6 @@ #include "onak-conf.h" #include "parsekey.h" -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); -} - -int stdout_putchar(void *ctx, size_t count, unsigned char *c) -{ - int i; - - for (i = 0; i < count; i++) { - putchar(c[i]); - } - return 0; -} - void find_keys(char *search, uint64_t keyid, bool ishex, bool fingerprint, bool exact, bool verbose) { -- 2.39.5