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);