mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
upgrade to libedit-2.6.7
(fixed Bug #4462 libedit compile failure) BitKeeper/etc/ignore: change config.h -> config.h to commit cmd-line-utils/libedit/config.h cmd-line-utils/libedit/Makefile.am: upgrade to libedit-2.6.7 cmd-line-utils/libedit/chared.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/chared.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/common.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/el.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/el.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/emacs.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/hist.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/hist.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/histedit.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/history.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/key.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/key.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/makelist.sh: upgrade to libedit-2.6.7 cmd-line-utils/libedit/map.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/map.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/parse.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/prompt.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/read.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/readline.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/readline/readline.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/refresh.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/search.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/search.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/sig.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/sig.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/sys.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/term.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/tokenizer.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/tokenizer.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/tty.c: upgrade to libedit-2.6.7 cmd-line-utils/libedit/tty.h: upgrade to libedit-2.6.7 cmd-line-utils/libedit/vi.c: upgrade to libedit-2.6.7 configure.in: change liblibedit.a to correct libedit.a
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: el.c,v 1.21 2001/01/05 22:45:30 christos Exp $ */
|
||||
/* $NetBSD: el.c,v 1.30 2002/11/12 00:00:23 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1992, 1993
|
||||
@ -36,13 +36,18 @@
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "compat.h"
|
||||
#include "config.h"
|
||||
#if !defined(lint) && !defined(SCCSID)
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)el.c 8.2 (Berkeley) 1/3/94";
|
||||
#else
|
||||
__RCSID("$NetBSD: el.c,v 1.30 2002/11/12 00:00:23 thorpej Exp $");
|
||||
#endif
|
||||
#endif /* not lint && not SCCSID */
|
||||
|
||||
/*
|
||||
* el.c: EditLine interface functions
|
||||
*/
|
||||
#include "sys.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/param.h>
|
||||
#include <string.h>
|
||||
@ -58,9 +63,6 @@ el_init(const char *prog, FILE *fin, FILE *fout, FILE *ferr)
|
||||
{
|
||||
|
||||
EditLine *el = (EditLine *) el_malloc(sizeof(EditLine));
|
||||
#ifdef DEBUG
|
||||
char *tty;
|
||||
#endif
|
||||
|
||||
if (el == NULL)
|
||||
return (NULL);
|
||||
@ -77,7 +79,11 @@ el_init(const char *prog, FILE *fin, FILE *fout, FILE *ferr)
|
||||
*/
|
||||
el->el_flags = 0;
|
||||
|
||||
(void) term_init(el);
|
||||
if (term_init(el) == -1) {
|
||||
free(el->el_prog);
|
||||
el_free(el);
|
||||
return NULL;
|
||||
}
|
||||
(void) key_init(el);
|
||||
(void) map_init(el);
|
||||
if (tty_init(el) == -1)
|
||||
@ -87,6 +93,7 @@ el_init(const char *prog, FILE *fin, FILE *fout, FILE *ferr)
|
||||
(void) hist_init(el);
|
||||
(void) prompt_init(el);
|
||||
(void) sig_init(el);
|
||||
(void) read_init(el);
|
||||
|
||||
return (el);
|
||||
}
|
||||
@ -138,11 +145,12 @@ public int
|
||||
el_set(EditLine *el, int op, ...)
|
||||
{
|
||||
va_list va;
|
||||
int rv;
|
||||
va_start(va, op);
|
||||
int rv = 0;
|
||||
|
||||
if (el == NULL)
|
||||
return (-1);
|
||||
va_start(va, op);
|
||||
|
||||
switch (op) {
|
||||
case EL_PROMPT:
|
||||
case EL_RPROMPT:
|
||||
@ -162,7 +170,6 @@ el_set(EditLine *el, int op, ...)
|
||||
el->el_flags |= HANDLE_SIGNALS;
|
||||
else
|
||||
el->el_flags &= ~HANDLE_SIGNALS;
|
||||
rv = 0;
|
||||
break;
|
||||
|
||||
case EL_BIND:
|
||||
@ -239,8 +246,20 @@ el_set(EditLine *el, int op, ...)
|
||||
rv = 0;
|
||||
break;
|
||||
|
||||
case EL_GETCFN:
|
||||
{
|
||||
el_rfunc_t rc = va_arg(va, el_rfunc_t);
|
||||
rv = el_read_setfn(el, rc);
|
||||
break;
|
||||
}
|
||||
|
||||
case EL_CLIENTDATA:
|
||||
el->el_data = va_arg(va, void *);
|
||||
break;
|
||||
|
||||
default:
|
||||
rv = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
va_end(va);
|
||||
@ -261,11 +280,11 @@ el_get(EditLine *el, int op, void *ret)
|
||||
switch (op) {
|
||||
case EL_PROMPT:
|
||||
case EL_RPROMPT:
|
||||
rv = prompt_get(el, (el_pfunc_t *) & ret, op);
|
||||
rv = prompt_get(el, (void *) &ret, op);
|
||||
break;
|
||||
|
||||
case EL_EDITOR:
|
||||
rv = map_get_editor(el, (const char **) &ret);
|
||||
rv = map_get_editor(el, (void *) &ret);
|
||||
break;
|
||||
|
||||
case EL_SIGNAL:
|
||||
@ -349,6 +368,16 @@ el_get(EditLine *el, int op, void *ret)
|
||||
break;
|
||||
#endif /* XXX */
|
||||
|
||||
case EL_GETCFN:
|
||||
*((el_rfunc_t *)ret) = el_read_getfn(el);
|
||||
rv = 0;
|
||||
break;
|
||||
|
||||
case EL_CLIENTDATA:
|
||||
*((void **)ret) = el->el_data;
|
||||
rv = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
rv = -1;
|
||||
}
|
||||
@ -367,15 +396,6 @@ el_line(EditLine *el)
|
||||
return (const LineInfo *) (void *) &el->el_line;
|
||||
}
|
||||
|
||||
static const char elpath[] = "/.editrc";
|
||||
|
||||
#if defined(MAXPATHLEN)
|
||||
#define LIBEDIT_MAXPATHLEN MAXPATHLEN
|
||||
#elif defined(PATH_MAX)
|
||||
#define LIBEDIT_MAXPATHLEN PATH_MAX
|
||||
#else
|
||||
#define LIBEDIT_MAXPATHLEN 1024
|
||||
#endif
|
||||
|
||||
/* el_source():
|
||||
* Source a file
|
||||
@ -385,10 +405,14 @@ el_source(EditLine *el, const char *fname)
|
||||
{
|
||||
FILE *fp;
|
||||
size_t len;
|
||||
char *ptr, path[LIBEDIT_MAXPATHLEN];
|
||||
char *ptr;
|
||||
|
||||
fp = NULL;
|
||||
if (fname == NULL) {
|
||||
#ifdef HAVE_ISSETUGID
|
||||
static const char elpath[] = "/.editrc";
|
||||
char path[MAXPATHLEN];
|
||||
|
||||
if (issetugid())
|
||||
return (-1);
|
||||
if ((ptr = getenv("HOME")) == NULL)
|
||||
@ -398,6 +422,14 @@ el_source(EditLine *el, const char *fname)
|
||||
if (strlcat(path, elpath, sizeof(path)) >= sizeof(path))
|
||||
return (-1);
|
||||
fname = path;
|
||||
#else
|
||||
/*
|
||||
* If issetugid() is missing, always return an error, in order
|
||||
* to keep from inadvertently opening up the user to a security
|
||||
* hole.
|
||||
*/
|
||||
return (-1);
|
||||
#endif
|
||||
}
|
||||
if (fp == NULL)
|
||||
fp = fopen(fname, "r");
|
||||
|
Reference in New Issue
Block a user