summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/histedit.h5
-rw-r--r--lib/libedit/Makefile3
-rw-r--r--lib/libedit/editline.314
-rw-r--r--lib/libedit/el.c20
-rw-r--r--lib/libedit/el.h2
5 files changed, 41 insertions, 3 deletions
diff --git a/include/histedit.h b/include/histedit.h
index 2050e41..6164103 100644
--- a/include/histedit.h
+++ b/include/histedit.h
@@ -1,4 +1,4 @@
-/* $Id$ */
+/* $Id: histedit.h,v 1.3 1997/06/25 09:47:31 msmith Exp $ */
/* $NetBSD: histedit.h,v 1.5 1997/04/11 17:52:45 christos Exp $ */
/*-
@@ -131,6 +131,9 @@ int el_source __P((EditLine *, const char *));
*/
void el_resize __P((EditLine *));
+void el_data_set __P((EditLine *, void *));
+void * el_data_get __P((EditLine *));
+
/*
* User-defined function interface.
diff --git a/lib/libedit/Makefile b/lib/libedit/Makefile
index 12d5cb4..26cd15f 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 33e3226..ffee263 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 c9c3f72..87f6813 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 a608e20..9514a70 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 */
OpenPOWER on IntegriCloud