diff --git a/src/lib/globals.h b/src/lib/globals.h
index c01e567..ea58076 100644
--- a/src/lib/globals.h
+++ b/src/lib/globals.h
@@ -349,5 +349,6 @@ enum state_change
/* Library internal calls */
void key_ACharacter(unsigned char c, enum keytype keytype, enum iaction cause,Boolean *skipped);
+void lib3270_initialize(void);
diff --git a/src/lib/lib3270.cbp b/src/lib/lib3270.cbp
index 053300f..0ce2b46 100644
--- a/src/lib/lib3270.cbp
+++ b/src/lib/lib3270.cbp
@@ -7,8 +7,8 @@
-
-
+
+
@@ -17,8 +17,8 @@
-
-
+
+
@@ -33,8 +33,9 @@
-
-
+
+
+
@@ -163,9 +164,8 @@
-
+
-
diff --git a/src/lib/tesprogram.c b/src/lib/tesprogram.c
deleted file mode 100644
index 72f2a19..0000000
--- a/src/lib/tesprogram.c
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#include
-#include
-
-int main(int numpar, char *param[])
-{
- H3270 *h;
-
- lib3270_initialize();
-
- h = lib3270_session_new("");
- printf("3270 session %p created\n",h);
-
-
-
-
- printf("Ending 3270 session %p\n",h);
- lib3270_session_free(h);
-
- return 0;
-}
diff --git a/src/lib/testprogram.c b/src/lib/testprogram.c
new file mode 100644
index 0000000..6ab426e
--- /dev/null
+++ b/src/lib/testprogram.c
@@ -0,0 +1,73 @@
+
+#include
+#include
+#include "globals.h"
+#include
+
+#define MAX_ARGS 10
+
+int main(int numpar, char *param[])
+{
+ H3270 * h;
+ char line[4096];
+
+ lib3270_initialize();
+
+ h = lib3270_session_new("");
+ printf("3270 session %p created\n]",h);
+
+ while(fgets(line,4095,stdin))
+ {
+ const LIB3270_MACRO_LIST *cmd = get_3270_calls();
+
+ int f;
+ int argc = 0;
+ const char * argv[MAX_ARGS];
+ char * ptr;
+
+ line[4095] = 0; // Just in case.
+
+ for(ptr = line;ptr && *ptr != '\n';ptr++);
+ *ptr = 0;
+
+ if(!*line)
+ break;
+
+ argv[argc++] = strtok(line," ");
+ for(f=1;f