cscvs to tla changeset 97
authorJonathan McDowell <noodles@earth.li>
Mon, 31 May 2004 23:47:56 +0000 (23:47 +0000)
committerJonathan McDowell <noodles@earth.li>
Mon, 31 May 2004 23:47:56 +0000 (23:47 +0000)
Author: noodles
Date: 2003/09/30 17:15:39
Move stdin/out character functions to charfuncs.c for easier reuse.

charfuncs.c
charfuncs.h
onak.c

index 3bfc3cc5261018cfe4c104b348546777171ce4a2..52f1155b4c173219a60089729a54fd208848cf38 100644 (file)
@@ -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;
+}
index e3501431ab8e86a64481aca9819bba6511f11648..ffa7bf93046b6ea55727496e311dc34ad7a2ae0e 100644 (file)
@@ -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 903c8f0f7c16b56e1168e1e1a1f302be1f24265f..b69c594f527445525c2113ea98411d914873ca8f 100644 (file)
--- 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"
 #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)
 {