#ifndef NO_COMPLETION
static linenoiseCompletionCallback *completionCallback = NULL;
+static void *completionUserdata = NULL;
static void beep() {
#ifdef USE_TERMIOS
linenoiseCompletions lc = { 0, NULL };
int c = 0;
- completionCallback(current->buf,&lc);
+ completionCallback(current->buf,&lc,completionUserdata);
if (lc.len == 0) {
beep();
} else {
/* Register a callback function to be called for tab-completion.
Returns the prior callback so that the caller may (if needed)
restore it when done. */
-linenoiseCompletionCallback * linenoiseSetCompletionCallback(linenoiseCompletionCallback *fn) {
+linenoiseCompletionCallback * linenoiseSetCompletionCallback(linenoiseCompletionCallback *fn, void *userdata) {
linenoiseCompletionCallback * old = completionCallback;
completionCallback = fn;
+ completionUserdata = userdata;
return old;
}