* debugger/mcs51/sdcdb.c: fixed compilation with older readline
authorborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 23 Aug 2007 20:03:39 +0000 (20:03 +0000)
committerborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 23 Aug 2007 20:03:39 +0000 (20:03 +0000)
  library versions without the completition functionality

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4904 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
debugger/mcs51/sdcdb.c

index e1be99ab91fe3431e8fe317ed6b233606718cc65..960fb7c171c2bbc417ced62dddf7cc5fe2b99f47 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-08-23 Borut Razem <borut.razem AT siol.net>
+
+       * debugger/mcs51/sdcdb.c: fixed compilation with older readline
+         library versions without the completition functionality
+
 2007-08-22 Raphael Neider <rneider AT web.de>
 
        * device/include/pic16/pic18f1220.h,
index f2fddbe51a6b8bea4deec4e7e51382310202360c..fc132d8c87acf772b96d625c79e440e5a8c0d0b1 100644 (file)
@@ -27,6 +27,9 @@
 #include "break.h"
 #include "cmd.h"
 #include "newalloc.h"
+#if defined HAVE_LIBREADLINE && HAVE_LIBREADLINE != -1
+#define HAVE_READLINE_COMPLETITION  1
+#endif
 #ifdef HAVE_LIBREADLINE
 #include <readline/readline.h>
 #include <readline/history.h>
@@ -62,7 +65,7 @@ int lineno = 0;
 int fatalError = 0;
 
 static void commandLoop(FILE *cmdfile);
-#ifdef HAVE_LIBREADLINE
+#ifdef HAVE_READLINE_COMPLETITION
 char *completionCmdSource(const char *text, int state);
 char *completionCmdFile(const char *text, int state);
 char *completionCmdInfo(const char *text, int state);
@@ -86,18 +89,18 @@ char *completionCmdSetOption(const char *text, int state);
 #define completionCmdUnDisplay NULL
 #define completionCmdSetUserBp NULL
 #define completionCmdSetOption NULL
-#endif /* HAVE_LIBREADLINE */
+#endif /* HAVE_READLINE_COMPLETITION */
 
 /* command table */
 struct cmdtab
 {
     char      *cmd ;  /* command the user will enter */
     int (*cmdfunc)(char *,context *);   /* function to execute when command is entered */
-#ifdef HAVE_LIBREADLINE
+#ifdef HAVE_READLINE_COMPLETITION
     rl_compentry_func_t *completion_func;
 #else
     void *dummy;
-#endif  /* HAVE_LIBREADLINE */
+#endif  /* HAVE_READLINE_COMPLETITION */
     char *htxt ;    /* short help text */
 
 } cmdTab[] = {
@@ -958,7 +961,7 @@ void stopCommandList()
     stopcmdlist = 1;
 }
 
-#ifdef HAVE_LIBREADLINE
+#ifdef HAVE_READLINE_COMPLETITION
 // helper function for doing readline completion.
 // input: toknum=index of token to find (0=first token)
 // output: *start=first character index of the token,
@@ -1419,7 +1422,7 @@ char *completionMain(const char *text, int state)
 
     return (*compl_func)(text,state);
 }
-#endif  /* HAVE_LIBREADLINE */
+#endif  /* HAVE_READLINE_COMPLETITION */
 
 /*-----------------------------------------------------------------*/
 /* commandLoop - the main command loop or loop over command file   */
@@ -1433,7 +1436,9 @@ static void commandLoop(FILE *cmdfile)
     FILE *old_rl_instream, *old_rl_outstream;
     actualcmdfile = cmdfile;
 
+#ifdef HAVE_READLINE_COMPLETITION
     rl_completion_entry_function = completionMain;
+#endif  /* HAVE_READLINE_COMPLETITION */
     rl_readline_name = "sdcdb"; // Allow conditional parsing of the ~/.inputrc file.
 
     // save readline's input/output streams