cmdline-examples: remove basic_char_loop() and use cmdline_interact()
authorOlivier Matz <zer0@droids-corp.org>
Fri, 6 May 2011 10:11:51 +0000 (12:11 +0200)
committerOlivier Matz <zer0@droids-corp.org>
Fri, 6 May 2011 10:11:51 +0000 (12:11 +0200)
Signed-off-by: Olivier Matz <zer0@droids-corp.org>
src/calculator_server/main.c
src/calculator_standalone/main.c
src/extension_example/main.c
src/genconf/main.c

index 77fbe28..0406a06 100644 (file)
@@ -48,30 +48,15 @@ extern cmdline_parse_ctx_t main_ctx[];
 
 struct cmdline *cl;
 
 
 struct cmdline *cl;
 
-/*** main */
-
-void basic_char_loop(void)
-{
-       char c;
-
-       c = -1;
-       while (1) {
-               read(cl->s_in, &c, 1);
-               if (cmdline_in(cl, &c, 1) < 0)
-                       break;
-       }
-       cmdline_free(cl);
-       printf("\n");
-}
-
-/* #define STANDALONE */
-
-int main(void) 
+int main(void)
 {
        int s;
        s = cmdline_tcpv4_listen(INADDR_ANY, 1234);
        cl = cmdline_accept(main_ctx, "example> ", s);
 {
        int s;
        s = cmdline_tcpv4_listen(INADDR_ANY, 1234);
        cl = cmdline_accept(main_ctx, "example> ", s);
-       basic_char_loop();
+       if (cl == NULL)
+               return 1;
+       cmdline_interact(cl);
+       cmdline_free(cl);
        return 0;
 }
 
        return 0;
 }
 
index de5a752..aa56e40 100644 (file)
@@ -54,27 +54,10 @@ extern cmdline_parse_ctx_t main_ctx[];
 
 struct cmdline *cl;
 
 
 struct cmdline *cl;
 
-/*** main */
-
-void basic_char_loop(void)
-{
-       char c;
-
-       c = -1;
-       while (1) {
-               read(cl->s_in, &c, 1);
-               if (cmdline_in(cl, &c, 1) < 0)
-                       break;
-       }
-       cmdline_free(cl);
-       printf("\n");
-}
-
-/* #define STANDALONE */
-
-int main(void) 
+int main(void)
 {
        struct termios oldterm, term;
 {
        struct termios oldterm, term;
+       int err = 0;
 
        tcgetattr(0, &oldterm);
        memcpy(&term, &oldterm, sizeof(term));
 
        tcgetattr(0, &oldterm);
        memcpy(&term, &oldterm, sizeof(term));
@@ -82,9 +65,17 @@ int main(void)
        tcsetattr(0, TCSANOW, &term);
        setbuf(stdin, NULL);
        cl = cmdline_stdin_new(main_ctx, "calc> ");
        tcsetattr(0, TCSANOW, &term);
        setbuf(stdin, NULL);
        cl = cmdline_stdin_new(main_ctx, "calc> ");
-       basic_char_loop();
+       if (cl == NULL) {
+               err = 1;
+               goto fail;
+       }
+
+       cmdline_interact(cl);
+       cmdline_free(cl);
+
+ fail:
        tcsetattr(0, TCSANOW, &oldterm);
        tcsetattr(0, TCSANOW, &oldterm);
-       return 0;
+       return err;
 }
 
 
 }
 
 
index ed8c871..7d1a031 100644 (file)
@@ -59,24 +59,10 @@ struct cmdline *cl;
 
 /*** main */
 
 
 /*** main */
 
-void basic_char_loop(void)
-{
-       char c;
-
-       c = -1;
-       while (1) {
-               read(cl->s_in, &c, 1);
-               if (cmdline_in(cl, &c, 1) < 0) {
-                       break;
-               }
-       }
-       cmdline_free(cl);
-       printf("\n");
-}
-
-int main(void) 
+int main(void)
 {
        struct termios oldterm, term;
 {
        struct termios oldterm, term;
+       int err = 0;
 
        tcgetattr(0, &oldterm);
        memcpy(&term, &oldterm, sizeof(term));
 
        tcgetattr(0, &oldterm);
        memcpy(&term, &oldterm, sizeof(term));
@@ -85,10 +71,16 @@ int main(void)
        setbuf(stdin, NULL);
 
        cl = cmdline_stdin_new(main_ctx, "example> ");
        setbuf(stdin, NULL);
 
        cl = cmdline_stdin_new(main_ctx, "example> ");
-       basic_char_loop();
+       if (cl == NULL) {
+               err = 1;
+               goto fail;
+       }
+       cmdline_interact(cl);
+       cmdline_free(cl);
 
 
+ fail:
        tcsetattr(fileno(stdin), TCSANOW, &oldterm);
        tcsetattr(fileno(stdin), TCSANOW, &oldterm);
-       return 0;
+       return err;
 }
 
 
 }
 
 
index 3748710..95d0b78 100644 (file)
@@ -59,22 +59,6 @@ struct cmdline *cl;
 
 /*** main */
 
 
 /*** main */
 
-void basic_char_loop(void)
-{
-       char c;
-
-       c = -1;
-       /* XXX */
-       while (1) {
-               read(cl->s_in, &c, 1);
-               if (cmdline_in(cl, &c, 1) < 0) {
-                       break;
-               }
-       }
-       cmdline_free(cl);
-       printf("\n");
-}
-
 int main(void)
 {
        struct termios oldterm, term;
 int main(void)
 {
        struct termios oldterm, term;
@@ -92,7 +76,8 @@ int main(void)
        setbuf(stdin, NULL);
 
        cl = cmdline_stdin_new(main_ctx, "root> ");
        setbuf(stdin, NULL);
 
        cl = cmdline_stdin_new(main_ctx, "root> ");
-       basic_char_loop();
+       cmdline_interact(cl);
+       cmdline_free(cl);
 
        tcsetattr(fileno(stdin), TCSANOW, &oldterm);
        return 0;
 
        tcsetattr(fileno(stdin), TCSANOW, &oldterm);
        return 0;