diff options
author | Matthew N. Dodd <mdodd@FreeBSD.org> | 1999-08-20 01:17:12 +0000 |
---|---|---|
committer | Matthew N. Dodd <mdodd@FreeBSD.org> | 1999-08-20 01:17:12 +0000 |
commit | 90cc1fbc53153f0c7175c41720a40fd543a55bca (patch) | |
tree | c1a3c3003f587a7102b9193101fdebcfc7d36c47 /lib/libedit | |
parent | 4033a962bf71343a83c94066453d69af1b7e4f10 (diff) | |
download | src-90cc1fbc53153f0c7175c41720a40fd543a55bca.tar.gz src-90cc1fbc53153f0c7175c41720a40fd543a55bca.zip |
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.
Notes
Notes:
svn path=/head/; revision=50070
Diffstat (limited to 'lib/libedit')
-rw-r--r-- | lib/libedit/Makefile | 3 | ||||
-rw-r--r-- | lib/libedit/editline.3 | 14 | ||||
-rw-r--r-- | lib/libedit/el.c | 20 | ||||
-rw-r--r-- | lib/libedit/el.h | 2 |
4 files changed, 37 insertions, 2 deletions
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 */ |