projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altosdroid: Update version numbers in manifest
[fw/altos]
/
ao-tools
/
ao-dbg
/
ao-dbg-main.c
diff --git
a/ao-tools/ao-dbg/ao-dbg-main.c
b/ao-tools/ao-dbg/ao-dbg-main.c
index 72249a6b0855402d65f5093eb925a893dc2ec239..25eca54b149cb7dae8ec654721ddd4ca043cbfd9 100644
(file)
--- a/
ao-tools/ao-dbg/ao-dbg-main.c
+++ b/
ao-tools/ao-dbg/ao-dbg-main.c
@@
-16,6
+16,10
@@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "ao-dbg.h"
#include <unistd.h>
#include <sys/types.h>
#include "ao-dbg.h"
#include <unistd.h>
#include <sys/types.h>
@@
-24,6
+28,7
@@
#include <signal.h>
#include <stdarg.h>
#include <poll.h>
#include <signal.h>
#include <stdarg.h>
#include <poll.h>
+#include <getopt.h>
static int s51_port = 0;
static char *cpu = "8051";
static int s51_port = 0;
static char *cpu = "8051";
@@
-32,6
+37,8
@@
char *s51_prompt = "> ";
struct ccdbg *s51_dbg;
int s51_interrupted = 0;
int s51_monitor = 0;
struct ccdbg *s51_dbg;
int s51_interrupted = 0;
int s51_monitor = 0;
+char *s51_tty = NULL;
+char *s51_device = NULL;
static FILE *s51_input;
static FILE *s51_output;
static FILE *s51_input;
static FILE *s51_output;
@@
-48,6
+55,12
@@
void s51_sigint()
s51_interrupted = 1;
}
s51_interrupted = 1;
}
+static const struct option options[] = {
+ { .name = "tty", .has_arg = 1, .val = 'T' },
+ { .name = "device", .has_arg = 1, .val = 'D' },
+ { 0, 0, 0, 0 },
+};
+
int
main(int argc, char **argv)
{
int
main(int argc, char **argv)
{
@@
-55,7
+68,7
@@
main(int argc, char **argv)
char *endptr;
struct sigvec vec, ovec;
char *endptr;
struct sigvec vec, ovec;
- while ((opt = getopt
(argc, argv, "PVvHhmt:X:c:r:Z:s:S:p:"
)) != -1) {
+ while ((opt = getopt
_long(argc, argv, "PVvHhmt:X:c:r:Z:s:S:p:T:", options, NULL
)) != -1) {
switch (opt) {
case 't':
cpu = optarg;
switch (opt) {
case 't':
cpu = optarg;
@@
-104,6
+117,12
@@
main(int argc, char **argv)
case 'm':
s51_monitor = 1;
break;
case 'm':
s51_monitor = 1;
break;
+ case 'T':
+ s51_tty = optarg;
+ break;
+ case 'D':
+ s51_device = optarg;
+ break;
}
}
if (s51_port) {
}
}
if (s51_port) {
@@
-189,13
+208,16
@@
s51_putc(int c)
putc(c, s51_output);
}
putc(c, s51_output);
}
+#if HAVE_LIBREADLINE
#include <readline/readline.h>
#include <readline/history.h>
#include <readline/readline.h>
#include <readline/history.h>
+#endif
int
s51_read_line(char *line, int len)
{
int ret;
int
s51_read_line(char *line, int len)
{
int ret;
+#if HAVE_LIBREADLINE
if (s51_output == stdout && s51_input == stdin && s51_prompt) {
char *r;
if (s51_output == stdout && s51_input == stdin && s51_prompt) {
char *r;
@@
-206,7
+228,9
@@
s51_read_line(char *line, int len)
line[len-1] = '\0';
add_history(r);
return 1;
line[len-1] = '\0';
add_history(r);
return 1;
- } else {
+ } else
+#endif
+ {
if (s51_prompt)
s51_printf("%s", s51_prompt);
else
if (s51_prompt)
s51_printf("%s", s51_prompt);
else