mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Update readline to version 5.2. This fixes bug#18431.
cmd-line-utils/readline/INSTALL: update readline to version 5.2 cmd-line-utils/readline/README: update readline to version 5.2 cmd-line-utils/readline/bind.c: update readline to version 5.2 cmd-line-utils/readline/callback.c: update readline to version 5.2 cmd-line-utils/readline/chardefs.h: update readline to version 5.2 cmd-line-utils/readline/compat.c: update readline to version 5.2 cmd-line-utils/readline/complete.c: update readline to version 5.2 cmd-line-utils/readline/configure.in: update readline to version 5.2 cmd-line-utils/readline/display.c: update readline to version 5.2 cmd-line-utils/readline/funmap.c: update readline to version 5.2 cmd-line-utils/readline/histexpand.c: update readline to version 5.2 cmd-line-utils/readline/histfile.c: update readline to version 5.2 cmd-line-utils/readline/history.c: update readline to version 5.2 cmd-line-utils/readline/histsearch.c: update readline to version 5.2 cmd-line-utils/readline/input.c: update readline to version 5.2 cmd-line-utils/readline/isearch.c: update readline to version 5.2 cmd-line-utils/readline/keymaps.c: update readline to version 5.2 cmd-line-utils/readline/kill.c: update readline to version 5.2 cmd-line-utils/readline/macro.c: update readline to version 5.2 cmd-line-utils/readline/mbutil.c: update readline to version 5.2 cmd-line-utils/readline/misc.c: update readline to version 5.2 cmd-line-utils/readline/nls.c: update readline to version 5.2 cmd-line-utils/readline/parens.c: update readline to version 5.2 cmd-line-utils/readline/readline.c: update readline to version 5.2 cmd-line-utils/readline/readline.h: update readline to version 5.2 cmd-line-utils/readline/rlconf.h: update readline to version 5.2 cmd-line-utils/readline/rldefs.h: update readline to version 5.2 cmd-line-utils/readline/rlmbutil.h: update readline to version 5.2 cmd-line-utils/readline/rlprivate.h: update readline to version 5.2 cmd-line-utils/readline/rltty.c: update readline to version 5.2 cmd-line-utils/readline/savestring.c: update readline to version 5.2 cmd-line-utils/readline/search.c: update readline to version 5.2 cmd-line-utils/readline/shell.c: update readline to version 5.2 cmd-line-utils/readline/signals.c: update readline to version 5.2 cmd-line-utils/readline/terminal.c: update readline to version 5.2 cmd-line-utils/readline/text.c: update readline to version 5.2 cmd-line-utils/readline/tilde.c: update readline to version 5.2 cmd-line-utils/readline/tilde.h: update readline to version 5.2 cmd-line-utils/readline/undo.c: update readline to version 5.2 cmd-line-utils/readline/util.c: update readline to version 5.2 cmd-line-utils/readline/vi_keymap.c: update readline to version 5.2 cmd-line-utils/readline/vi_mode.c: update readline to version 5.2 cmd-line-utils/readline/xmalloc.c: update readline to version 5.2
This commit is contained in:
@ -19,9 +19,9 @@
|
||||
along with Readline; see the file COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
|
||||
|
||||
#define READLINE_LIBRARY
|
||||
|
||||
#include "config_readline.h"
|
||||
#if defined (HAVE_CONFIG_H)
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#if defined (HAVE_UNISTD_H)
|
||||
# ifdef _MINIX
|
||||
@ -43,7 +43,9 @@
|
||||
#endif /* HAVE_STDLIB_H */
|
||||
|
||||
#include <sys/types.h>
|
||||
#if defined (HAVE_PWD_H)
|
||||
#include <pwd.h>
|
||||
#endif
|
||||
|
||||
#include "tilde.h"
|
||||
|
||||
@ -54,8 +56,12 @@ static void *xmalloc (), *xrealloc ();
|
||||
#endif /* TEST || STATIC_MALLOC */
|
||||
|
||||
#if !defined (HAVE_GETPW_DECLS)
|
||||
# if defined (HAVE_GETPWUID)
|
||||
extern struct passwd *getpwuid PARAMS((uid_t));
|
||||
# endif
|
||||
# if defined (HAVE_GETPWNAM)
|
||||
extern struct passwd *getpwnam PARAMS((const char *));
|
||||
# endif
|
||||
#endif /* !HAVE_GETPW_DECLS */
|
||||
|
||||
#if !defined (savestring)
|
||||
@ -190,7 +196,7 @@ tilde_expand (string)
|
||||
int result_size, result_index;
|
||||
|
||||
result_index = result_size = 0;
|
||||
if ((result = strchr (string, '~')))
|
||||
if (result = strchr (string, '~'))
|
||||
result = (char *)xmalloc (result_size = (strlen (string) + 16));
|
||||
else
|
||||
result = (char *)xmalloc (result_size = (strlen (string) + 1));
|
||||
@ -277,6 +283,39 @@ isolate_tilde_prefix (fname, lenp)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Public function to scan a string (FNAME) beginning with a tilde and find
|
||||
the portion of the string that should be passed to the tilde expansion
|
||||
function. Right now, it just calls tilde_find_suffix and allocates new
|
||||
memory, but it can be expanded to do different things later. */
|
||||
char *
|
||||
tilde_find_word (fname, flags, lenp)
|
||||
const char *fname;
|
||||
int flags, *lenp;
|
||||
{
|
||||
int x;
|
||||
char *r;
|
||||
|
||||
x = tilde_find_suffix (fname);
|
||||
if (x == 0)
|
||||
{
|
||||
r = savestring (fname);
|
||||
if (lenp)
|
||||
*lenp = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
r = (char *)xmalloc (1 + x);
|
||||
strncpy (r, fname, x);
|
||||
r[x] = '\0';
|
||||
if (lenp)
|
||||
*lenp = x;
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Return a string that is PREFIX concatenated with SUFFIX starting at
|
||||
SUFFIND. */
|
||||
static char *
|
||||
@ -347,7 +386,11 @@ tilde_expand_word (filename)
|
||||
/* No preexpansion hook, or the preexpansion hook failed. Look in the
|
||||
password database. */
|
||||
dirname = (char *)NULL;
|
||||
#if defined (HAVE_GETPWNAM)
|
||||
user_entry = getpwnam (username);
|
||||
#else
|
||||
user_entry = 0;
|
||||
#endif
|
||||
if (user_entry == 0)
|
||||
{
|
||||
/* If the calling program has a special syntax for expanding tildes,
|
||||
@ -361,19 +404,20 @@ tilde_expand_word (filename)
|
||||
free (expansion);
|
||||
}
|
||||
}
|
||||
free (username);
|
||||
/* If we don't have a failure hook, or if the failure hook did not
|
||||
expand the tilde, return a copy of what we were passed. */
|
||||
if (dirname == 0)
|
||||
dirname = savestring (filename);
|
||||
}
|
||||
#if defined (HAVE_GETPWENT)
|
||||
else
|
||||
{
|
||||
free (username);
|
||||
dirname = glue_prefix_and_suffix (user_entry->pw_dir, filename, user_len);
|
||||
}
|
||||
dirname = glue_prefix_and_suffix (user_entry->pw_dir, filename, user_len);
|
||||
#endif
|
||||
|
||||
free (username);
|
||||
#if defined (HAVE_GETPWENT)
|
||||
endpwent ();
|
||||
#endif
|
||||
return (dirname);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user