diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/Makefile | 15 | ||||
-rw-r--r-- | main/asterisk.c | 29 | ||||
-rw-r--r-- | main/cli.c | 2 | ||||
-rwxr-xr-x | main/editline/configure | 2 | ||||
-rw-r--r-- | main/editline/configure.in | 2 | ||||
-rw-r--r-- | main/editline/readline.c | 2 | ||||
-rw-r--r-- | main/editline/readline.h (renamed from main/editline/readline/readline.h) | 0 |
7 files changed, 22 insertions, 30 deletions
diff --git a/main/Makefile b/main/Makefile index 4d446f08c..0ff0deaf8 100644 --- a/main/Makefile +++ b/main/Makefile @@ -144,7 +144,14 @@ testexpr2: ast_expr2f.c ast_expr2.c ast_expr2.h $(CC) -g -o testexpr2 ast_expr2f.o ast_expr2.o -lm rm ast_expr2.o ast_expr2f.o +ifneq ($(LIBEDIT_INTERNAL),no) +LIBEDIT_OBJ=editline/libedit.a +LIBEDIT_INCLUDE=-Ieditline +endif + db.o: _ASTCFLAGS+=$(SQLITE3_INCLUDE) +asterisk.o: _ASTCFLAGS+=$(LIBEDIT_INCLUDE) +cli.o: _ASTCFLAGS+=$(LIBEDIT_INCLUDE) ifneq ($(findstring ENABLE_UPLOADS,$(MENUSELECT_CFLAGS)),) http.o: _ASTCFLAGS+=$(GMIME_INCLUDE) @@ -228,13 +235,13 @@ endif endif -$(MAIN_TGT): $(OBJS) $(ASTSSL_LIB) editline/libedit.a $(AST_EMBED_LDSCRIPTS) +$(MAIN_TGT): $(OBJS) $(ASTSSL_LIB) $(LIBEDIT_OBJ) $(AST_EMBED_LDSCRIPTS) @$(CC) -c -o buildinfo.o $(_ASTCFLAGS) buildinfo.c $(ASTCFLAGS) - $(ECHO_PREFIX) echo " [LD] $(OBJS) editline/libedit.a $(AST_EMBED_LDSCRIPTS) -> $@" + $(ECHO_PREFIX) echo " [LD] $(OBJS) $(LIBEDIT_OBJ) $(AST_EMBED_LDSCRIPTS) -> $@" ifneq ($(findstring chan_h323,$(MENUSELECT_CHANNELS)),) - $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(OBJS) $(ASTSSL_LDLIBS) editline/libedit.a $(AST_EMBED_LDSCRIPTS) buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(GMIMELDFLAGS) + $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(OBJS) $(ASTSSL_LDLIBS) $(LIBEDIT_OBJ) $(AST_EMBED_LDSCRIPTS) buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(GMIMELDFLAGS) $(LIBEDIT_LIB) else - $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $(OBJS) $(ASTSSL_LDLIBS) editline/libedit.a $(AST_EMBED_LDSCRIPTS) buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS) $(GMIMELDFLAGS) + $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLINK) $(AST_EMBED_LDFLAGS) $(_ASTLDFLAGS) $(ASTLDFLAGS) $(H323LDFLAGS) $(OBJS) $(ASTSSL_LDLIBS) $(LIBEDIT_OBJ) $(AST_EMBED_LDSCRIPTS) buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS) $(H323LDLIBS) $(GMIMELDFLAGS) $(LIBEDIT_LIB) endif ifeq ($(GNU_LD),1) diff --git a/main/asterisk.c b/main/asterisk.c index 23d6c2320..e06d70a4a 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -98,6 +98,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #endif #endif #include <regex.h> +#include <histedit.h> #if defined(SOLARIS) int daemon(int, int); /* defined in libresolv of all places */ @@ -2704,7 +2705,7 @@ static char *cli_complete(EditLine *editline, int ch) int mlen = 0, maxmbuf = 2048; /* Start with a 2048 byte buffer */ if (!(mbuf = ast_malloc(maxmbuf))) { - lf->cursor[0] = savechr; + *((char *) lf->cursor) = savechr; return (char *)(CC_ERROR); } snprintf(buf, sizeof(buf), "_COMMAND MATCHESARRAY \"%s\" \"%s\"", lf->buffer, ptr); @@ -2716,7 +2717,7 @@ static char *cli_complete(EditLine *editline, int ch) /* Every step increment buffer 1024 bytes */ maxmbuf += 1024; if (!(mbuf = ast_realloc(mbuf, maxmbuf))) { - lf->cursor[0] = savechr; + *((char *) lf->cursor) = savechr; return (char *)(CC_ERROR); } } @@ -2778,7 +2779,7 @@ static char *cli_complete(EditLine *editline, int ch) ast_free(matches); } - lf->cursor[0] = savechr; + *((char *) lf->cursor) = savechr; return (char *)(long)retval; } @@ -2861,29 +2862,13 @@ static int ast_el_write_history(char *filename) static int ast_el_read_history(char *filename) { - char buf[MAX_HISTORY_COMMAND_LENGTH]; - FILE *f; - int ret = -1; + HistEvent ev; - if (el_hist == NULL || el == NULL) + if (el_hist == NULL || el == NULL) { ast_el_initialize(); - - if ((f = fopen(filename, "r")) == NULL) - return ret; - - while (!feof(f)) { - if (!fgets(buf, sizeof(buf), f)) - break; - if (!strcmp(buf, "_HiStOrY_V2_\n")) - continue; - if (ast_all_zeros(buf)) - continue; - if ((ret = ast_el_add_history(buf)) == -1) - break; } - fclose(f); - return ret; + return history(el_hist, &ev, H_LOAD, filename); } static void ast_remotecontrol(char *data) diff --git a/main/cli.c b/main/cli.c index bb20bc1fa..7f71da924 100644 --- a/main/cli.c +++ b/main/cli.c @@ -39,6 +39,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include <regex.h> #include <pwd.h> #include <grp.h> +#include <editline/readline.h> #include "asterisk/cli.h" #include "asterisk/linkedlists.h" @@ -48,7 +49,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/utils.h" #include "asterisk/app.h" #include "asterisk/lock.h" -#include "editline/readline/readline.h" #include "asterisk/threadstorage.h" #include "asterisk/translate.h" diff --git a/main/editline/configure b/main/editline/configure index b5fc6e02c..d5d0a4dea 100755 --- a/main/editline/configure +++ b/main/editline/configure @@ -2031,7 +2031,7 @@ TCSRCS="TEST/test.c" if test "x$enable_readline" = "xyes" ; then CCSRCS="$CCSRCS readline.c" - IHDRS="$IHDRS readline/readline.h" + IHDRS="$IHDRS readline.h" IHDR_LINKS="readline.h readline/history.h" HDR_DIRS="$HDR_DIRS include/readline" LIB_A_LINKS="$LIB_A_LINKS libedit.a libreadline.a" diff --git a/main/editline/configure.in b/main/editline/configure.in index db533343d..d8bc706b1 100644 --- a/main/editline/configure.in +++ b/main/editline/configure.in @@ -235,7 +235,7 @@ TCSRCS="TEST/test.c" dnl Add files to the lists if readline compatibility is enabled. if test "x$enable_readline" = "xyes" ; then CCSRCS="$CCSRCS readline.c" - IHDRS="$IHDRS readline/readline.h" + IHDRS="$IHDRS readline.h" IHDR_LINKS="readline.h readline/history.h" HDR_DIRS="$HDR_DIRS include/readline" LIB_A_LINKS="$LIB_A_LINKS libedit.a libreadline.a" diff --git a/main/editline/readline.c b/main/editline/readline.c index 77827c3f9..adf054d63 100644 --- a/main/editline/readline.c +++ b/main/editline/readline.c @@ -58,7 +58,7 @@ __RCSID("$NetBSD: readline.c,v 1.21 2002/03/18 16:20:36 christos Exp $"); #endif #include "histedit.h" -#include "readline/readline.h" +#include "readline.h" #include "el.h" #include "fcns.h" /* for EL_NUM_FCNS */ diff --git a/main/editline/readline/readline.h b/main/editline/readline.h index 7485dde40..7485dde40 100644 --- a/main/editline/readline/readline.h +++ b/main/editline/readline.h |