From 1977d8cc331b2de89cce35e275371d3fa825823c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 9 May 2005 15:31:43 +0000 Subject: [PATCH] (sl_command_loop): new return code -2 for EOF (sl_loop): treat all return value from sl_command_loop >= 0 as ok, and continue. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15100 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/sl/sl.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/sl/sl.c b/lib/sl/sl.c index 06d4dc336..04590f598 100644 --- a/lib/sl/sl.c +++ b/lib/sl/sl.c @@ -293,7 +293,11 @@ static char *sl_readline(const char *prompt) return s; } -/* return values: 0 on success, -1 on fatal error, or return value of command */ +/* return values: + * 0 on success, + * -1 on fatal error, + * -2 if EOF, or + * return value of command */ int sl_command_loop(SL_cmd *cmds, const char *prompt, void **data) { @@ -305,7 +309,7 @@ sl_command_loop(SL_cmd *cmds, const char *prompt, void **data) ret = 0; buf = sl_readline(prompt); if(buf == NULL) - return 1; + return -2; if(*buf) add_history(buf); @@ -332,7 +336,7 @@ sl_loop(SL_cmd *cmds, const char *prompt) { void *data = NULL; int ret; - while((ret = sl_command_loop(cmds, prompt, &data)) == 0) + while((ret = sl_command_loop(cmds, prompt, &data)) >= 0) ; return ret; }