unexpose undefined part of the API, included strlcat
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14926 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
** History and file completion functions for editline library.
|
||||
*/
|
||||
#include <config.h>
|
||||
#include "editline.h"
|
||||
#include "edit_locl.h"
|
||||
|
||||
RCSID("$Id$");
|
||||
|
||||
@@ -160,7 +160,7 @@ rl_complete_filename(char *pathname, int *unique)
|
||||
memcpy(p, av[0] + len, j);
|
||||
asprintf(&new, "%s%s", pathname, p);
|
||||
if(new != NULL) {
|
||||
rl_add_slash(new, p);
|
||||
rl_add_slash(new, p, j + 1);
|
||||
free(new);
|
||||
}
|
||||
}
|
||||
|
61
lib/editline/edit_locl.h
Normal file
61
lib/editline/edit_locl.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/* $Revision$
|
||||
**
|
||||
** Internal header file for editline library.
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#define CRLF "\r\n"
|
||||
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_DIRENT_H
|
||||
#include <dirent.h>
|
||||
typedef struct dirent DIRENTRY;
|
||||
#else
|
||||
#include <sys/dir.h>
|
||||
typedef struct direct DIRENTRY;
|
||||
#endif
|
||||
|
||||
#include <roken.h>
|
||||
|
||||
#if !defined(S_ISDIR)
|
||||
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
|
||||
#endif /* !defined(S_ISDIR) */
|
||||
|
||||
typedef unsigned char CHAR;
|
||||
|
||||
#define MEM_INC 64
|
||||
#define SCREEN_INC 256
|
||||
|
||||
/*
|
||||
** Variables and routines internal to this package.
|
||||
*/
|
||||
extern int rl_eof;
|
||||
extern int rl_erase;
|
||||
extern int rl_intr;
|
||||
extern int rl_kill;
|
||||
extern int rl_quit;
|
||||
|
||||
typedef char* (*rl_complete_func_t)(char*, int*);
|
||||
|
||||
typedef int (*rl_list_possib_func_t)(char*, char***);
|
||||
|
||||
void rl_add_slash (char*, char*, size_t);
|
||||
int rl_list_possib (char*, char***);
|
||||
void rl_ttyset (int);
|
||||
rl_complete_func_t rl_set_complete_func (rl_complete_func_t);
|
||||
rl_list_possib_func_t rl_set_list_possib_func (rl_list_possib_func_t);
|
||||
|
||||
#include "editline.h"
|
||||
|
@@ -21,7 +21,7 @@
|
||||
** Main editing routines for editline library.
|
||||
*/
|
||||
#include <config.h>
|
||||
#include "editline.h"
|
||||
#include "edit_locl.h"
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
|
||||
|
@@ -1,64 +1,33 @@
|
||||
/* $Revision$
|
||||
**
|
||||
** Internal header file for editline library.
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
/* Copyright 1992 Simmule Turner and Rich Salz. All rights reserved.
|
||||
*
|
||||
* This software is not subject to any license of the American Telephone
|
||||
* and Telegraph Company or of the Regents of the University of California.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose on
|
||||
* any computer system, and to alter it and redistribute it freely, subject
|
||||
* to the following restrictions:
|
||||
* 1. The authors are not responsible for the consequences of use of this
|
||||
* software, no matter how awful, even if they arise from flaws in it.
|
||||
* 2. The origin of this software must not be misrepresented, either by
|
||||
* explicit claim or by omission. Since few users ever read sources,
|
||||
* credits must appear in the documentation.
|
||||
* 3. Altered versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software. Since few users
|
||||
* ever read sources, credits must appear in the documentation.
|
||||
* 4. This notice may not be removed or altered.
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
/* This a modifed version of editline */
|
||||
|
||||
#define CRLF "\r\n"
|
||||
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_DIRENT_H
|
||||
#include <dirent.h>
|
||||
typedef struct dirent DIRENTRY;
|
||||
#else
|
||||
#include <sys/dir.h>
|
||||
typedef struct direct DIRENTRY;
|
||||
#endif
|
||||
|
||||
#include <roken.h>
|
||||
|
||||
#if !defined(S_ISDIR)
|
||||
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
|
||||
#endif /* !defined(S_ISDIR) */
|
||||
|
||||
typedef unsigned char CHAR;
|
||||
|
||||
#define MEM_INC 64
|
||||
#define SCREEN_INC 256
|
||||
|
||||
/*
|
||||
** Variables and routines internal to this package.
|
||||
*/
|
||||
extern int rl_eof;
|
||||
extern int rl_erase;
|
||||
extern int rl_intr;
|
||||
extern int rl_kill;
|
||||
extern int rl_quit;
|
||||
|
||||
typedef char* (*rl_complete_func_t)(char*, int*);
|
||||
|
||||
typedef int (*rl_list_possib_func_t)(char*, char***);
|
||||
#ifndef __HEIM_EDITLINE
|
||||
#define __HEIM_EDITLINE 1
|
||||
|
||||
void rl_initialize (void);
|
||||
void add_history (char*);
|
||||
char* readline (const char* prompt);
|
||||
void rl_add_slash (char*, char*);
|
||||
char* rl_complete (char*, int*);
|
||||
void rl_initialize (void);
|
||||
int rl_list_possib (char*, char***);
|
||||
char* rl_complete (char*, int*); /* warning diffrent api the gnu readline */
|
||||
void rl_reset_terminal (char*);
|
||||
void rl_ttyset (int);
|
||||
rl_complete_func_t rl_set_complete_func (rl_complete_func_t);
|
||||
rl_list_possib_func_t rl_set_list_possib_func (rl_list_possib_func_t);
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -57,5 +57,8 @@
|
||||
#ifndef HAVE_VASNPRINTF
|
||||
#define vasnprintf _editline_vasnprintf
|
||||
#endif
|
||||
#ifndef HAVE_STRLCPU
|
||||
#define strlcpy _editline_strlcpy
|
||||
#endif
|
||||
|
||||
#endif /* __roken_rename_h__ */
|
||||
|
@@ -21,7 +21,7 @@
|
||||
** Unix system-dependant routines for editline library.
|
||||
*/
|
||||
#include <config.h>
|
||||
#include "editline.h"
|
||||
#include "edit_locl.h"
|
||||
|
||||
#ifdef HAVE_TERMIOS_H
|
||||
#include <termios.h>
|
||||
@@ -83,10 +83,10 @@ rl_ttyset(int Reset)
|
||||
#endif /* HAVE_TERMIOS_H */
|
||||
|
||||
void
|
||||
rl_add_slash(char *path, char *p)
|
||||
rl_add_slash(char *path, char *p, size_t len)
|
||||
{
|
||||
struct stat Sb;
|
||||
|
||||
if (stat(path, &Sb) >= 0)
|
||||
strcat(p, S_ISDIR(Sb.st_mode) ? "/" : " ");
|
||||
strlcat(p, S_ISDIR(Sb.st_mode) ? "/" : " ", len);
|
||||
}
|
||||
|
@@ -13,7 +13,7 @@
|
||||
#endif
|
||||
#include <getarg.h>
|
||||
|
||||
#include "editline.h"
|
||||
#include "edit_locl.h"
|
||||
|
||||
static int n_flag = 0;
|
||||
static int version_flag = 0;
|
||||
|
Reference in New Issue
Block a user