1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-11-10 21:38:50 +01:00

* ttyio.c (tty_enable_completion, tty_disable_completion): Enable and

disable readline completion. (init_ttyfp): Completion is disabled by
default.
This commit is contained in:
David Shaw 2005-03-18 20:17:38 +00:00
parent 5f7720e693
commit 9c3484924b
4 changed files with 47 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2005-03-18 David Shaw <dshaw@jabberwocky.com>
* ttyio.h: Prototype tty_enable_completion(), and
tty_disable_completion().
2005-02-09 David Shaw <dshaw@jabberwocky.com> 2005-02-09 David Shaw <dshaw@jabberwocky.com>
* cipher.h: Add a flag for a symmetric DEK. * cipher.h: Add a flag for a symmetric DEK.

View File

@ -1,5 +1,5 @@
/* ttyio.h /* ttyio.h
* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. * Copyright (C) 1998, 1999, 2000, 2001, 2005 Free Software Foundation, Inc.
* *
* This file is part of GNUPG. * This file is part of GNUPG.
* *
@ -20,6 +20,11 @@
#ifndef G10_TTYIO_H #ifndef G10_TTYIO_H
#define G10_TTYIO_H #define G10_TTYIO_H
#ifdef HAVE_LIBREADLINE
#include <stdio.h>
#include <readline/readline.h>
#endif
const char *tty_get_ttyname (void); const char *tty_get_ttyname (void);
int tty_batchmode( int onoff ); int tty_batchmode( int onoff );
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5 ) #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5 )
@ -39,5 +44,15 @@ void tty_kill_prompt(void);
int tty_get_answer_is_yes( const char *prompt ); int tty_get_answer_is_yes( const char *prompt );
int tty_no_terminal(int onoff); int tty_no_terminal(int onoff);
#ifdef HAVE_LIBREADLINE
void tty_enable_completion(rl_completion_func_t *completer);
void tty_disable_completion(void);
#else
/* Use a macro to stub out these functions since a macro has no need
to typedef a "rl_completion_func_t" which would be undefined
without readline. */
#define tty_enable_completion(x)
#define tty_disable_completion()
#endif
#endif /*G10_TTYIO_H*/ #endif /*G10_TTYIO_H*/

View File

@ -1,3 +1,9 @@
2005-03-18 David Shaw <dshaw@jabberwocky.com>
* ttyio.c (tty_enable_completion, tty_disable_completion): Enable
and disable readline completion.
(init_ttyfp): Completion is disabled by default.
2005-03-14 Werner Koch <wk@g10code.com> 2005-03-14 Werner Koch <wk@g10code.com>
* miscutil.c (isotimestamp): New. * miscutil.c (isotimestamp): New.

View File

@ -165,6 +165,7 @@ init_ttyfp(void)
#ifdef HAVE_LIBREADLINE #ifdef HAVE_LIBREADLINE
rl_catch_signals = 0; rl_catch_signals = 0;
rl_instream = rl_outstream = ttyfp; rl_instream = rl_outstream = ttyfp;
rl_inhibit_completion = 1;
#endif #endif
#endif #endif
#ifdef HAVE_TCGETATTR #ifdef HAVE_TCGETATTR
@ -173,6 +174,25 @@ init_ttyfp(void)
initialized = 1; initialized = 1;
} }
#ifdef HAVE_LIBREADLINE
void
tty_enable_completion(rl_completion_func_t *completer)
{
if( !initialized )
init_ttyfp();
rl_attempted_completion_function=completer;
rl_inhibit_completion=0;
}
void
tty_disable_completion(void)
{
if( !initialized )
init_ttyfp();
rl_inhibit_completion=1;
}
#endif
int int
tty_batchmode( int onoff ) tty_batchmode( int onoff )
{ {