cscvs to tla changeset 97
[onak.git] / charfuncs.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;
+}