X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fextension_example%2Fmain.c;h=7d1a031dc6fb138277e07160929284b2c0a92220;hb=0c0e81f94cfed584ea3b4baeb5735f4dd0366187;hp=9cf13717a23329b6e69700ae4a6d0dab51995cba;hpb=6f32a68393e01b4179592b9f48255179e8ad55f7;p=libcmdline.git diff --git a/src/extension_example/main.c b/src/extension_example/main.c index 9cf1371..7d1a031 100644 --- a/src/extension_example/main.c +++ b/src/extension_example/main.c @@ -30,6 +30,7 @@ #include #include #include +#include #include @@ -58,24 +59,10 @@ 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"); -} - -int main(void) +int main(void) { struct termios oldterm, term; + int err = 0; tcgetattr(0, &oldterm); memcpy(&term, &oldterm, sizeof(term)); @@ -84,10 +71,16 @@ int main(void) 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); - return 0; + return err; }