Mercurial > repos > rhope
changeset 31:fab5bb137cf9
Added Unix Time worker to interpreter
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 28 Sep 2009 19:48:45 -0400 |
parents | 3cc5e4a42344 |
children | 9ee9adc696e7 |
files | interp.c interp.h |
diffstat | 2 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/interp.c Sat Jun 27 01:50:33 2009 -0400 +++ b/interp.c Mon Sep 28 19:48:45 2009 -0400 @@ -2218,7 +2218,8 @@ aworker->input_types[1] = BUILTIN_TYPE_WHOLE; #endif #endif - + aworker = create_worker(prog, "Unix Time", 0, 1, WORKER_TYPE); + aworker->implement_func=(custom_worker *)unix_time; /*if(current_def > num_defs) num_defs = current_def; if(current_company > num_companies) @@ -4001,6 +4002,13 @@ return 0; } +int unix_time(datum ** inputlist, queue_entry * worker_entry) +{ + inputlist[0] = new_datum(BUILTIN_TYPE_WHOLE, 2, 0, worker_entry->instance->def->program); + inputlist[0]->c.integers.num_a = time(NULL); + return 0; +} + int vis_end(datum ** inputlist, queue_entry * worker_entry) { // fprintf(outfile, "End worker reached.\n");
--- a/interp.h Sat Jun 27 01:50:33 2009 -0400 +++ b/interp.h Mon Sep 28 19:48:45 2009 -0400 @@ -95,6 +95,7 @@ void vis_window_init(); //defined in window.cpp +int unix_time(datum ** inputlist, queue_entry * worker_entry); int vis_random(datum ** inputlist, queue_entry * worker_entry); int vis_print(datum ** inputlist, queue_entry * worker_entry); int vis_build(datum ** inputlist, queue_entry * worker_entry);