mirror of
https://github.com/troglobit/editline.git
synced 2025-05-05 20:11:12 +08:00
Revert "Merge pull request #21 from cogutvalera/issue_1171"
This reverts commitcddd8d8de0
, reversing changes made to4ec7d26a9d
.
This commit is contained in:
parent
66d8ae84e2
commit
2137b9df9f
@ -21,7 +21,6 @@
|
||||
|
||||
#include "editline.h"
|
||||
#include <string.h>
|
||||
#include <regex.h>
|
||||
|
||||
#define HISTORY "/tmp/.cli-history"
|
||||
|
||||
@ -117,33 +116,6 @@ el_status_t do_suspend(void)
|
||||
return CSstay;
|
||||
}
|
||||
|
||||
static int my_rl_check_secret(const char* source)
|
||||
{
|
||||
const char* pattern = (char *)"^unlock\\s";
|
||||
regex_t regex;
|
||||
|
||||
int reti;
|
||||
int rez = 0;
|
||||
|
||||
if (!pattern || !source)
|
||||
return rez;
|
||||
|
||||
/* Compile regular expression */
|
||||
reti = regcomp(®ex, pattern, 0);
|
||||
if (reti) // If couldn't compile regex
|
||||
return rez;
|
||||
|
||||
/* Execute regular expression */
|
||||
reti = regexec(®ex, source, 0, NULL, 0);
|
||||
if (!reti) // If regex match
|
||||
rez = 1;
|
||||
|
||||
/* Free memory allocated to the pattern buffer by regcomp() */
|
||||
regfree(®ex);
|
||||
|
||||
return rez;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
char *line;
|
||||
@ -152,7 +124,6 @@ int main(void)
|
||||
/* Setup callbacks */
|
||||
rl_set_complete_func(&my_rl_complete);
|
||||
rl_set_list_possib_func(&my_rl_list_possib);
|
||||
rl_set_check_secret_func(&my_rl_check_secret);
|
||||
el_bind_key('?', list_possible);
|
||||
el_bind_key(CTL('C'), do_break);
|
||||
el_bind_key(CTL('D'), do_exit);
|
||||
|
@ -45,7 +45,6 @@ typedef enum {
|
||||
|
||||
/* Editline specific types, despite rl_ prefix. From Heimdal project. */
|
||||
typedef int rl_list_possib_func_t(char*, char***);
|
||||
typedef int rl_check_secret_func_t(const char*);
|
||||
typedef el_status_t el_keymap_func_t(void);
|
||||
typedef int rl_hook_func_t(void);
|
||||
typedef int rl_getc_func_t(void);
|
||||
@ -77,7 +76,6 @@ extern char *rl_complete(char *token, int *match);
|
||||
extern int rl_list_possib(char *token, char ***av);
|
||||
extern char **rl_completion_matches(const char *token, rl_compentry_func_t *generator);
|
||||
extern char *rl_filename_completion_function(const char *text, int state);
|
||||
extern int rl_check_secret(char *source);
|
||||
|
||||
/* For compatibility with FSF readline. */
|
||||
extern int rl_point;
|
||||
@ -119,7 +117,6 @@ extern int write_history (const char *filename);
|
||||
extern rl_completion_func_t *rl_attempted_completion_function;
|
||||
extern rl_complete_func_t *rl_set_complete_func (rl_complete_func_t *func);
|
||||
extern rl_list_possib_func_t *rl_set_list_possib_func (rl_list_possib_func_t *func);
|
||||
extern rl_check_secret_func_t *rl_set_check_secret_func (rl_check_secret_func_t *func);
|
||||
|
||||
/* Alternate interface to plain readline(), for event loops */
|
||||
extern void rl_callback_handler_install (const char *prompt, rl_vcpfunc_t *lhandler);
|
||||
|
@ -397,21 +397,6 @@ char *rl_complete(char *token, int *match)
|
||||
return el_filename_complete(token, match);
|
||||
}
|
||||
|
||||
static rl_check_secret_func_t *el_check_secret_func = NULL;
|
||||
/* For compatibility with the Heimdal project. */
|
||||
rl_check_secret_func_t *rl_set_check_secret_func(rl_check_secret_func_t *func)
|
||||
{
|
||||
rl_check_secret_func_t *old = el_check_secret_func;
|
||||
el_check_secret_func = func;
|
||||
return old;
|
||||
}
|
||||
int rl_check_secret(char *source)
|
||||
{
|
||||
if (el_check_secret_func)
|
||||
return el_check_secret_func(source);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static rl_list_possib_func_t *el_list_possib_func = NULL;
|
||||
|
||||
/* For compatibility with the Heimdal project. */
|
||||
|
@ -159,16 +159,12 @@ static void tty_flush(void)
|
||||
ssize_t res;
|
||||
|
||||
if (!ScreenCount)
|
||||
return;
|
||||
return;
|
||||
|
||||
if (!el_no_echo) {
|
||||
if (rl_check_secret(rl_line_buffer))
|
||||
res = write(el_outfd, "", 1);
|
||||
else
|
||||
res = write(el_outfd, Screen, ScreenCount);
|
||||
|
||||
if (res > 0)
|
||||
ScreenCount = 0;
|
||||
res = write(el_outfd, Screen, ScreenCount);
|
||||
if (res > 0)
|
||||
ScreenCount = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1138,10 +1134,6 @@ static void hist_add(const char *p)
|
||||
if (s == NULL)
|
||||
return;
|
||||
|
||||
// Don't add secret information in history
|
||||
if (rl_check_secret(s))
|
||||
return;
|
||||
|
||||
if (H.Size < el_hist_size) {
|
||||
H.Lines[H.Size++] = s;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user