From 047b8ed75bbac19ef33690bd44746718a8261439 Mon Sep 17 00:00:00 2001
From: Jonathan McDowell <noodles@earth.li>
Date: Mon, 31 May 2004 23:47:56 +0000
Subject: [PATCH 1/1] 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 <stdio.h>
 #include <sys/types.h>
 #include <sys/uio.h>
 #include <unistd.h>
@@ -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 <stdio.h>
@@ -16,6 +16,7 @@
 #include <unistd.h>
 
 #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