From 90cc1fbc53153f0c7175c41720a40fd543a55bca Mon Sep 17 00:00:00 2001 From: "Matthew N. Dodd" Date: Fri, 20 Aug 1999 01:17:12 +0000 Subject: Add 2 functions: el_data_set() and el_data_get() which do what you would expect. (Allow user data to be associated with an EditLine context). As this changes no existing interfaces and doesn't alter any structs visable to the user I've been told that its not necessary to bump the version of the library. --- lib/libedit/Makefile | 3 ++- lib/libedit/editline.3 | 14 +++++++++++++- lib/libedit/el.c | 20 ++++++++++++++++++++ lib/libedit/el.h | 2 ++ 4 files changed, 37 insertions(+), 2 deletions(-) (limited to 'lib/libedit') diff --git a/lib/libedit/Makefile b/lib/libedit/Makefile index 12d5cb4f1e95..26cd15fd316e 100644 --- a/lib/libedit/Makefile +++ b/lib/libedit/Makefile @@ -16,7 +16,8 @@ MLINKS= editline.3 el_init.3 editline.3 el_end.3 editline.3 el_reset.3 \ editline.3 el_parse.3 editline.3 el_set.3 editline.3 el_source.3 \ editline.3 el_resize.3 editline.3 el_line.3 \ editline.3 el_insertstr.3 editline.3 el_deletestr.3 \ - editline.3 history_init.3 editline.3 history_end.3 editline.3 history.3 + editline.3 history_init.3 editline.3 history_end.3 editline.3 \ + history.3 el_data_get.3 el_data_set.3 # For speed and debugging diff --git a/lib/libedit/editline.3 b/lib/libedit/editline.3 index 33e32267c2d9..ffee26312fb9 100644 --- a/lib/libedit/editline.3 +++ b/lib/libedit/editline.3 @@ -33,7 +33,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $Id$ +.\" $Id: editline.3,v 1.6 1999/07/12 20:49:33 nik Exp $ .\" .Dd January 11, 1997 .Os BSD 4.4 @@ -53,6 +53,8 @@ .Nm el_line , .Nm el_insertstr , .Nm el_deletestr , +.Nm el_data_set , +.Nm el_data_get , .Nm history_init , .Nm history_end , .Nm history @@ -85,6 +87,10 @@ .Fn el_insertstr "EditLine *e" "char *str" .Ft void .Fn el_deletestr "EditLine *e" "int count" +.Ft void +.Fn el_data_set "EditLine *e" "void *data" +.Ft void * +.Fn el_data_get "EditLine *e" .Ft History * .Fn history_init .Ft void @@ -412,6 +418,12 @@ is empty or won't fit, and 0 otherwise. Delete .Fa num characters before the cursor. +.It Fn el_data_set +Set the user data to +.Fa data +. +.It Fn el_data_get +Get the user data. .El .Sh HISTORY LIST FUNCTIONS The history functions use a common data structure, diff --git a/lib/libedit/el.c b/lib/libedit/el.c index c9c3f725593b..87f6813d455d 100644 --- a/lib/libedit/el.c +++ b/lib/libedit/el.c @@ -103,6 +103,7 @@ el_init(prog, fin, fout) (void) prompt_init(el); (void) sig_init(el); el->el_flags = 0; + el->data = NULL; return el; } /* end el_init */ @@ -336,3 +337,22 @@ el_resize(el) (void) sigprocmask(SIG_SETMASK, &oset, NULL); } + +public void +el_data_set (el, data) + EditLine *el; + void *data; +{ + el->data = data; + + return; +} + +public void * +el_data_get (el) + EditLine *el; +{ + if (el->data) + return (el->data); + return (NULL); +} diff --git a/lib/libedit/el.h b/lib/libedit/el.h index a608e2055be5..9514a707a151 100644 --- a/lib/libedit/el.h +++ b/lib/libedit/el.h @@ -125,6 +125,8 @@ struct editline { el_history_t el_history; /* History stuff */ el_search_t el_search; /* Search stuff */ el_signal_t el_signal; /* Signal handling stuff */ + + void *data; /* user data */ }; #endif /* _h_el */ -- cgit v1.3