aboutsummaryrefslogtreecommitdiff
path: root/src/emitc.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2015-11-22 15:26:49 -0500
committerFranklin Wei <git@fwei.tk>2015-11-22 15:26:49 -0500
commitc7c1bd7641581e2a0b84dcecdab61ed7c43268e9 (patch)
tree593dfd770a4706cd2417faf7f2c075b53b7a8a78 /src/emitc.c
parentf90dc85cf0989eec61a6c9ce76842b78e2d8f46d (diff)
downloadducky-c7c1bd7641581e2a0b84dcecdab61ed7c43268e9.zip
ducky-c7c1bd7641581e2a0b84dcecdab61ed7c43268e9.tar.gz
ducky-c7c1bd7641581e2a0b84dcecdab61ed7c43268e9.tar.bz2
ducky-c7c1bd7641581e2a0b84dcecdab61ed7c43268e9.tar.xz
add input
Diffstat (limited to 'src/emitc.c')
-rw-r--r--src/emitc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/emitc.c b/src/emitc.c
index 21d516a..6de0401 100644
--- a/src/emitc.c
+++ b/src/emitc.c
@@ -502,6 +502,15 @@ static void newline_handler(void)
write_src("vid_writef(\"\\n\");\n");
}
+static void input_handler(void)
+{
+ write_src("{\n");
+ write_src("vartype val;\n");
+ write_src("scanf(\"%s\", &val);\n", VARFORMAT);
+ write_src("setvar(%d, val);\n", read_varid());
+ write_src("}\n");
+}
+
static void inc_line_pointer(void)
{
++current_line;
@@ -558,7 +567,7 @@ static void (*instr_tab[0x100])(void) = {
NULL, /* 0x2c */
NULL, /* 0x2d */
newline_handler, /* 0x2e */
- NULL, /* 0x2f */
+ input_handler, /* 0x2f */
NULL, /* 0x30 */
NULL, /* 0x31 */
NULL, /* 0x32 */