diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2008-06-19 19:40:35 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2008-06-19 19:40:35 +0000 |
commit | c3b7a49cc1b7c1a7f9805f17c33a4cd4533b82b3 (patch) | |
tree | 880de5fd24e1b8fa447501126abbd825078d4731 /server-fn.c | |
parent | 8078deea3f7e6d2f9477f267838e03d8489f2128 (diff) | |
download | rtmux-c3b7a49cc1b7c1a7f9805f17c33a4cd4533b82b3.tar.gz rtmux-c3b7a49cc1b7c1a7f9805f17c33a4cd4533b82b3.tar.bz2 rtmux-c3b7a49cc1b7c1a7f9805f17c33a4cd4533b82b3.zip |
Editable prompt. Not used for anything yet. More to come.
Diffstat (limited to 'server-fn.c')
-rw-r--r-- | server-fn.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/server-fn.c b/server-fn.c index 9893d409..526a859d 100644 --- a/server-fn.c +++ b/server-fn.c @@ -1,4 +1,4 @@ -/* $Id: server-fn.c,v 1.43 2008-06-19 18:27:55 nicm Exp $ */ +/* $Id: server-fn.c,v 1.44 2008-06-19 19:40:34 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -49,6 +49,35 @@ server_clear_client_message(struct client *c) } void +server_set_client_prompt( + struct client *c, const char *msg, void (*fn)(void *, char *), void *data) +{ + c->prompt_string = xstrdup(msg); + + c->prompt_buffer = xstrdup(""); + c->prompt_index = 0; + + c->prompt_callback = fn; + c->prompt_data = data; + + c->flags |= CLIENT_STATUS; +} + +void +server_clear_client_prompt(struct client *c) +{ + if (c->prompt_string == NULL) + return; + + xfree(c->prompt_string); + c->prompt_string = NULL; + + xfree(c->prompt_buffer); + + c->flags |= CLIENT_STATUS; +} + +void server_write_client( struct client *c, enum hdrtype type, const void *buf, size_t len) { |