Moved version.h to include/
[yaz-moved-to-github.git] / rfc1006 / rfct.c
index b857cd2..c31bce7 100644 (file)
@@ -4,7 +4,19 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: rfct.c,v $
- * Revision 1.1  1995-03-30 14:03:17  quinn
+ * Revision 1.5  1995-05-31 08:29:35  quinn
+ * Nothing significant.
+ *
+ * Revision 1.4  1995/05/18  13:02:07  quinn
+ * Smallish.
+ *
+ * Revision 1.3  1995/05/16  09:37:18  quinn
+ * Fixed bug
+ *
+ * Revision 1.2  1995/05/02  08:53:09  quinn
+ * Trying in vain to fix comm with ISODE
+ *
+ * Revision 1.1  1995/03/30  14:03:17  quinn
  * Added RFC1006 as separate library
  *
  * Revision 1.15  1995/03/30  10:54:43  quinn
@@ -243,18 +255,18 @@ int t_open(char *name, int oflag, struct t_info *info)
        cnt->oci[i] = -1;
 
     /*
-     * RFC1006 sets a higher than standard default max TPDU size, but the
+     * RFC1006 sets a higher than standard (TP) default max TPDU size, but the
      * Isode seems to like to negotiate it down. We'll keep it here to be
-     * safe. Not that there's no harm in jumping it up. If it's higher
+     * safe. Note that there's no harm in jumping it up. If it's higher
      * than 2048, t_connect won't try to negotiate.
      */
-    cnt->tsize = 128;
+    cnt->tsize = 2048;
 
     if (info)
     {
        info->addr = TSEL_MAXLEN + sizeof(struct sockaddr_in) + 1;
        info->options = 1024;
-       info->tsdu = -1;
+       info->tsdu = -1; /* is this right? */
        info->etsdu = 0;
        info->connect = -2;
        info->discon = -2;
@@ -771,6 +783,12 @@ static int t_look_wait(int fd, int wait)
        return T_LISTEN; /* the only possible type of event */
     if ((res = read_n(fd, (char*) &head, 6)) < 0)
        return -1;
+    if (res == 0)
+    {
+       TRC(fprintf(stderr, "Network disconnect\n"));
+       return cnt->event = T_DISCONNECT;
+    }
+    TRC(fprintf(stderr, "t_look got %d bytes\n", res));
     if (head.version != RFC_VERSION)
     {
        TRC(fprintf(stderr, "Got bad RFC1006 version in t_look: %d.\n",
@@ -1356,7 +1374,7 @@ int t_accept(int fd, int resfd, struct t_call *call)
     for (i = 7; i <= 11 && (1 << i) < res->tsize; i++) ; /* encode TPDU size */
     parm[2] = i;
     /* give our TSEL. ## Must we echo theirs, if given? check spec */
-    /* I think it was ok to give an empty TSEL. Does it have semantic sig? */
+    /* I thought it was ok to give an empty TSEL. Does it have semantic sig? */
     parm[3] = TPDU_PARM_CLDID;
     parm[4] = res->ltsel_len; 
     if (res->ltsel_len)