summaryrefslogtreecommitdiffhomepage
path: root/mixutils
diff options
context:
space:
mode:
authorjaortega <jaortega>2001-03-22 02:33:58 +0000
committerjaortega <jaortega>2001-03-22 02:33:58 +0000
commit2ca96c58673afb1df494ae5b5b00256c140ce3d6 (patch)
tree7e70b3fe75884c837b7e674a13d3e08e1268f233 /mixutils
parent92e00ea7d9a1aa5b202495e993c5e69915c4ffee (diff)
downloadmdk-2ca96c58673afb1df494ae5b5b00256c140ce3d6.tar.gz
mdk-2ca96c58673afb1df494ae5b5b00256c140ce3d6.tar.bz2
minor changes
Diffstat (limited to 'mixutils')
-rw-r--r--mixutils/mixvm_command.c17
-rw-r--r--mixutils/mixvm_loop.c26
2 files changed, 38 insertions, 5 deletions
diff --git a/mixutils/mixvm_command.c b/mixutils/mixvm_command.c
index 516bd68..e1c03bf 100644
--- a/mixutils/mixvm_command.c
+++ b/mixutils/mixvm_command.c
@@ -24,8 +24,15 @@
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
-#include <readline/readline.h>
-#include <readline/history.h>
+
+#include <mixlib/mix.h>
+
+#ifdef HAVE_LIBREADLINE
+# include <readline/readline.h>
+# include <readline/history.h>
+#else
+ typedef int Function ();
+#endif /* HAVE_LIBREADLINE */
#include <mixlib/mix_vm.h>
#include <mixlib/mix_vm_dump.h>
@@ -70,6 +77,7 @@ static const char *mix_commands_[ALL_COMMANDS_NO_] = {NULL};
+#ifdef HAVE_LIBREADLINE
/* readline functions */
static char *
mixvm_cmd_generator_ (char *text, int state);
@@ -125,6 +133,7 @@ mixvm_cmd_generator_ (char *text, int state)
/* If no names matched, then return NULL. */
return ((char *)NULL);
}
+#endif /* HAVE_LIBREADLINE */
/* command functions */
static COMMAND *
@@ -281,8 +290,12 @@ mixvm_cmd_init (char *arg, gboolean use_emacs)
for (k = 0; k < MIX_CMD_INVALID; ++k)
mix_commands_[k + LOCAL_COMANDS_NO_] = mix_vm_command_to_string (k);
mix_commands_[ALL_COMMANDS_NO_ - 1] = NULL;
+
+#ifdef HAVE_LIBREADLINE
/* Tell the completer that we want a crack first. */
rl_attempted_completion_function = (CPPFunction *)mixvm_cmd_completion_;
+#endif /* HAVE_LIBREADLINE */
+
/* initialise the dispatcher */
dis_ = mix_vm_cmd_dispatcher_new (stdout, stderr);
diff --git a/mixutils/mixvm_loop.c b/mixutils/mixvm_loop.c
index 8a571d8..a565832 100644
--- a/mixutils/mixvm_loop.c
+++ b/mixutils/mixvm_loop.c
@@ -20,13 +20,33 @@
*/
+#define _GNU_SOURCE 1
+#include <stdio.h>
#include <mixlib/mix.h>
-#include <stdio.h>
-#include <readline/readline.h>
-#include <readline/history.h>
#include "mixvm_command.h"
+#ifdef HAVE_LIBHISTORY
+# include <readline/history.h>
+#else
+# define add_history(x) ((void)0)
+#endif
+
+#ifdef HAVE_LIBREADLINE
+# include <readline/readline.h>
+#else /* !HAVE_LIBREADLINE */
+static char *
+readline (char *prompt)
+{
+ char *line = NULL;
+ size_t s = 0;
+
+ printf ("%s", prompt);
+ getline (&line, &s, stdin);
+ return line;
+}
+#endif /* HAVE_LIBREADLINE */
+
/* A static variable for holding the line. */
static char *line_read = (char *)NULL;
static const char *PROMPT = N_("MIX > ");