]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Fri, 22 Apr 2011 12:03:36 +0000 (12:03 +0000)
committerjsancho <devnull@localhost>
Fri, 22 Apr 2011 12:03:36 +0000 (12:03 +0000)
gacela.c

index dee76599553337a3b551f46a5f208586bc5b1d22..0493d8fd63621c90534f89946970c574eceb17e4 100644 (file)
--- a/gacela.c
+++ b/gacela.c
@@ -2,6 +2,7 @@
 #include <readline/readline.h>
 #include <sys/types.h>
 #include <unistd.h>
+#include <libguile.h>
 
 /* Read-Send-Print-Loop */
 void rspl(int pin, int pout)
@@ -42,13 +43,20 @@ int main (int argc, char *argv[])
   }
   else {
     char buf;
+    static char *line = (char *)NULL;
+
+    dup2(pfd[0], 0);
+    close(pfd[0]);
 
     while (1) {
-      while (read(pfd[0], &buf, 1) > 0) {
-       if (buf == '\n')
-         write(STDOUT_FILENO, "-\n", 2);
-       else
-         write(STDOUT_FILENO, &buf, 1);
+      if (line) {
+       free(line);
+       line = (char *)NULL;
+      }
+
+      line = readline("");
+      if (line && *line) {
+       printf("%s-\n", line);
       }
     }
   }