diff --git a/configure/os/CONFIG.Common.vxWorksCommon b/configure/os/CONFIG.Common.vxWorksCommon index e7be9fae0..50f626959 100644 --- a/configure/os/CONFIG.Common.vxWorksCommon +++ b/configure/os/CONFIG.Common.vxWorksCommon @@ -170,6 +170,10 @@ COMPILE.ctdt = $(CC) -c $(CPPFLAGS) $(CFLAGS_ctdt) $(INCLUDES) $(SOURCE_FLAG) VXCPPFLAGS = $(filter-out $(OP_SYS_INCLUDE_CPPFLAGS),$(CPPFLAGS)) PREPROCESS.cpp = $(CPP) $(VXCPPFLAGS) $(INCLUDES) $< > $@ +#-------------------------------------------------- +# Use LEDLIB for command-line editing +COMMANDLINE_LIBRARY = LEDLIB + #-------------------------------------------------- # Allow site overrides -include $(CONFIG)/os/CONFIG_SITE.Common.vxWorksCommon diff --git a/src/libCom/osi/epicsReadline.c b/src/libCom/osi/epicsReadline.c index 936cbce99..d61238856 100644 --- a/src/libCom/osi/epicsReadline.c +++ b/src/libCom/osi/epicsReadline.c @@ -15,8 +15,15 @@ #include "envDefs.h" #include "epicsReadline.h" +/* Basic command-line input, no editing or history: */ #define EPICS_COMMANDLINE_LIBRARY_EPICS 0 + +/* OS-specific command-line editing and/or history: */ #define EPICS_COMMANDLINE_LIBRARY_LIBTECLA 1 +#define EPICS_COMMANDLINE_LIBRARY_LEDLIB 1 +#define EPICS_COMMANDLINE_LIBRARY_OTHER 1 + +/* GNU readline, or Apple's libedit wrapper: */ #define EPICS_COMMANDLINE_LIBRARY_READLINE 2 #define EPICS_COMMANDLINE_LIBRARY_READLINE_CURSES 2 #define EPICS_COMMANDLINE_LIBRARY_READLINE_NCURSES 2 @@ -42,14 +49,10 @@ static void osdReadlineBegin(struct readlineContext * c) {} static char * osdReadline(const char *prompt, struct readlineContext * c) { return NULL; } static void osdReadlineEnd(struct readlineContext * c) {} +#elif EPICS_COMMANDLINE_LIBRARY == EPICS_COMMANDLINE_LIBRARY_READLINE +# include "gnuReadline.c" #else - -# if EPICS_COMMANDLINE_LIBRARY == EPICS_COMMANDLINE_LIBRARY_READLINE -# include "gnuReadline.c" -# else -# include "osdReadline.c" -# endif - +# include "osdReadline.c" #endif /* diff --git a/src/libCom/osi/os/vxWorks/osdReadline.c b/src/libCom/osi/os/vxWorks/osdReadline.c index 9195b6b72..dee24fd64 100644 --- a/src/libCom/osi/os/vxWorks/osdReadline.c +++ b/src/libCom/osi/os/vxWorks/osdReadline.c @@ -33,7 +33,7 @@ struct osdContext { static void osdReadlineBegin(struct readlineContext *context) { - struct osdContext osd = malloc(sizeof *osd); + struct osdContext *osd = malloc(sizeof *osd); if (osd != NULL) { osd->ledId = (LED_ID) ERROR;