* Sebastian Hammer, Adam Dickmeiss
*
* $Log: tclmain.c,v $
- * Revision 1.12 1995-08-28 11:07:16 adam
+ * Revision 1.16 1996-02-05 17:58:05 adam
+ * Ported ir-tcl to use the beta releases of tcl7.5/tk4.1.
+ *
+ * Revision 1.15 1996/01/10 09:18:45 adam
+ * PDU specific callbacks implemented: initRespnse, searchResponse,
+ * presentResponse and scanResponse.
+ * Bug fix in the command line shell (tclmain.c) - discovered on OSF/1.
+ *
+ * Revision 1.14 1995/09/21 13:11:53 adam
+ * Support of dynamic loading.
+ * Test script uses load command if necessary.
+ *
+ * Revision 1.13 1995/08/28 12:21:22 adam
+ * Removed lines and list as synonyms of list in MARC extractron.
+ * Configure searches also for tk4.0 / tcl7.4.
+ *
+ * Revision 1.12 1995/08/28 11:07:16 adam
* Minor changes.
*
* Revision 1.11 1995/08/03 13:23:02 adam
{
if (Tcl_Init(interp) == TCL_ERROR)
return TCL_ERROR;
- if (ir_tcl_init(interp) == TCL_ERROR)
+ if (Irtcl_Init(interp) == TCL_ERROR)
return TCL_ERROR;
return TCL_OK;
}
if (argc == 2)
fileName = argv[1];
- log_init (LOG_ALL, "", NULL);
if (Tcl_AppInit(interp) != TCL_OK) {
fprintf(stderr, "Tcl_AppInit failed: %s\n", interp->result);
}
{
if (FD_ISSET (i, &fdset_tcl_r))
{
- assert (callback_table[i].r_handle);
- (*callback_table[i].r_handle) (callback_table[i].obj);
+ if (callback_table[i].r_handle)
+ (*callback_table[i].r_handle) (callback_table[i].obj);
}
if (FD_ISSET (i, &fdset_tcl_w))
{
- assert (callback_table[i].w_handle);
- (*callback_table[i].w_handle) (callback_table[i].obj);
+ if (callback_table[i].w_handle)
+ (*callback_table[i].w_handle) (callback_table[i].obj);
}
if (FD_ISSET (i, &fdset_tcl_x))
{
- assert (callback_table[i].x_handle);
- (*callback_table[i].x_handle) (callback_table[i].obj);
+ if (callback_table[i].x_handle)
+ (*callback_table[i].x_handle) (callback_table[i].obj);
}
}
if (interactive && FD_ISSET(0, &fdset_tcl_r))
}
}
+#if IRTCL_GENERIC_FILES
+void ir_select_add (Tcl_File file, void *obj)
+{
+ int fd = (int) Tcl_GetFileInfo (file, NULL);
+#else
void ir_select_add (int fd, void *obj)
{
+#endif
callback_table[fd].obj = obj;
callback_table[fd].r_handle = ir_select_read;
callback_table[fd].w_handle = NULL;
max_fd = fd;
}
+#if IRTCL_GENERIC_FILES
+void ir_select_add_write (Tcl_File file, void *obj)
+{
+ int fd = (int) Tcl_GetFileInfo (file, NULL);
+#else
void ir_select_add_write (int fd, void *obj)
{
+#endif
callback_table[fd].w_handle = ir_select_write;
if (fd > max_fd)
max_fd = fd;
}
+#if IRTCL_GENERIC_FILES
+void ir_select_remove_write (Tcl_File file, void *obj)
+{
+ int fd = (int) Tcl_GetFileInfo (file, NULL);
+#else
void ir_select_remove_write (int fd, void *obj)
{
+#endif
callback_table[fd].w_handle = NULL;
}
+#if IRTCL_GENERIC_FILES
+void ir_select_remove (Tcl_File file, void *obj)
+{
+ int fd = (int) Tcl_GetFileInfo (file, NULL);
+#else
void ir_select_remove (int fd, void *obj)
{
+#endif
callback_table[fd].r_handle = NULL;
callback_table[fd].w_handle = NULL;
callback_table[fd].x_handle = NULL;