Revert "Merge pull request #21 from cogutvalera/issue_1171"

This reverts commit cddd8d8de0, reversing
changes made to 4ec7d26a9d.
This commit is contained in:
Joachim Nilsson 2018-11-15 10:27:22 +01:00
parent 66d8ae84e2
commit 2137b9df9f
4 changed files with 4 additions and 59 deletions

View File

@ -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(&regex, pattern, 0);
if (reti) // If couldn't compile regex
return rez;
/* Execute regular expression */
reti = regexec(&regex, source, 0, NULL, 0);
if (!reti) // If regex match
rez = 1;
/* Free memory allocated to the pattern buffer by regcomp() */
regfree(&regex);
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);

View File

@ -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);

View File

@ -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. */

View File

@ -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 {