[BACK]Return to plot.c.diff CVS log [TXT][DIR] Up to [local] / OpenXM / src / gnuplot

Diff for /OpenXM/src/gnuplot/Attic/plot.c.diff between version 1.2 and 1.3

version 1.2, 2000/02/01 10:24:12 version 1.3, 2000/03/20 18:54:24
Line 1 
Line 1 
 $OpenXM$  $OpenXM: OpenXM/src/gnuplot/plot.c.diff,v 1.2 2000/02/01 10:24:12 maekawa Exp $
   
 --- plot.c.orig Tue Feb  1 19:09:06 2000  *** plot.c.orig Sat Jan 22 23:15:59 2000
 +++ plot.c      Tue Feb  1 19:09:12 2000  --- plot.c      Tue Mar 21 03:41:44 2000
 @@ -42,6 +42,23 @@  ***************
  #include "fnproto.h"  *** 42,47 ****
  #include <setjmp.h>  --- 42,64 ----
     #include "fnproto.h"
 +/* TAKAYAMA Nobuki */    #include <setjmp.h>
 +#include <sys/types.h>  
 +#include <sys/socket.h>  + /* TAKAYAMA Nobuki */
 +#include <sys/time.h>  + #include <sys/types.h>
 +#include <netinet/in.h>  + #include <sys/socket.h>
 +#include <netdb.h>  + #include <sys/time.h>
 +  + #include <netinet/in.h>
 +FILE *openTCP          __P((char *));  + #include <netdb.h>
 +  +
 +int socketConnect      __P((char *, int));  + FILE *openTCP         __P((char *));
 +int socketOpen         __P((char *, int));  +
 +int socketAccept       __P((int));  + int socketConnect     __P((char *, int));
 +  + int socketOpen                __P((char *, int));
 +int oxSocketSelect0    __P((int, int));  + int socketAccept      __P((int));
 +int oxSocketMultiSelect        __P((int *, int, int, int *));  +
 +/* END */  + int oxSocketSelect0   __P((int, int));
 +  + int oxSocketMultiSelect       __P((int *, int, int, int *));
  #if defined(MSDOS) || defined(DOS386) || defined(__EMX__)  + /* END */
  # include <io.h>  +
  #endif    #if defined(MSDOS) || defined(DOS386) || defined(__EMX__)
 @@ -321,6 +338,7 @@    # include <io.h>
  int argc;    #endif
  char **argv;  ***************
  {  *** 321,326 ****
 +    FILE *fp;  --- 338,344 ----
  #ifdef LINUXVGA    int argc;
      LINUX_setup();    char **argv;
  #endif    {
 @@ -527,8 +545,12 @@  +     FILE *fp;
     #ifdef LINUXVGA
                 /* interactive = FALSE; */ /* should this be here? */        LINUX_setup();
     #endif
 -           } else  ***************
 -               load_file(fopen(*argv, "r"), *argv, FALSE);  *** 527,534 ****
 +           } else {  
 +               fp = openTCP(*argv);                  /* interactive = FALSE; */ /* should this be here? */
 +               load_file(fp, *argv, FALSE);  
 +               fprintf(stderr, "gnuplot : EOF or there was an error"  !           } else
 +                               "in the input stream.\n");  !               load_file(fopen(*argv, "r"), *argv, FALSE);
 +           }          }
         }    #ifdef _Windows
  #ifdef _Windows          if (noend) {
         if (noend) {  --- 545,556 ----
 @@ -725,3 +747,308 @@  
      return 0;                  /* interactive = FALSE; */ /* should this be here? */
  }  
  #endif  !           } else {
 +  !               fp = openTCP(*argv);
 +/*  !               load_file(fp, *argv, FALSE);
 + * TAKAYAMA Nobuki  !               fprintf(stderr, "gnuplot : EOF or there was an error"
 + */  !                               "in the input stream.\n");
 +FILE *  !           }
 +openTCP(name)          }
 +       char *name;    #ifdef _Windows
 +{          if (noend) {
 +       FILE *fp;  ***************
 +       int fd, port, reverse = 0;  *** 725,727 ****
 +  --- 747,1053 ----
 +       fprintf(stderr, "openTCP port number : %s\n", name);        return 0;
 +    }
 +       if (name[0] == 'r') {    #endif
 +               fprintf(stderr, "openTCP : trying to reverse connetion.\n");  +
 +               reverse = 1;  + /*
 +               sscanf(&name[1], "%d", &port);  +  * TAKAYAMA Nobuki
 +       } else {  +  */
 +               sscanf(name, "%d", &port);  + FILE *
 +       }  + openTCP(name)
 +  +       char *name;
 +       if (reverse) {  + {
 +               fd = socketConnect("localhost", port);  +       FILE *fp;
 +               fprintf(stderr, "socketConnect is succeded: fd = %d.", fd);  +       int fd, port, reverse = 0;
 +       } else {  +
 +               fprintf(stderr, "Port number is %d.\n", port);  +       fprintf(stderr, "openTCP port number : %s\n", name);
 +               fd = socketOpen("localhost", port);  +
 +               fprintf(stderr, "socketOpen is succeded: fd = %d.", fd);  +       if (name[0] == 'r') {
 +               fd = socketAccept(fd);  +               fprintf(stderr, "openTCP : trying to reverse connetion.\n");
 +       }  +               reverse = 1;
 +  +               sscanf(&name[1], "%d", &port);
 +       fprintf(stderr, "\n Port %d : Connected.\n", port);  +       } else {
 +       fp = fdopen(fd, "r");  +               sscanf(name, "%d", &port);
 +  +       }
 +       return(fp);  +
 +}  +       if (reverse) {
 +  +               fd = socketConnect("localhost", port);
 +#define        READBUFSIZE     10000  +               fprintf(stderr, "socketConnect is succeded: fd = %d.", fd);
 +  +       } else {
 +FILE *TcpioError = stderr;  +               fprintf(stderr, "Port number is %d.\n", port);
 +int OpenedSocket = 0, Quiet = 0;  +               fd = socketOpen("localhost", port);
 +  +               fprintf(stderr, "socketOpen is succeded: fd = %d.", fd);
 +int  +               fd = socketAccept(fd);
 +socketConnect(serverName, portNumber)  +       }
 +       char *serverName;  +
 +       int portNumber;  +       fprintf(stderr, "\n Port %d : Connected.\n", port);
 +{  +       fp = fdopen(fd, "r");
 +       struct hostent *servhost;  +
 +       struct sockaddr_in serv;  +       return(fp);
 +       int socketid, on;  + }
 +  +
 +       if ((servhost = gethostbyname(serverName)) == NULL) {  + #define       READBUFSIZE     10000
 +               fprintf(stderr, "Bad server name.\n\n");  +
 +               return (-1);  + int OpenedSocket = 0, Quiet = 0;
 +       }  +
 +  + int
 +       bzero((void *)&serv, sizeof(serv));  + socketConnect(serverName, portNumber)
 +       serv.sin_family = AF_INET;  +       char *serverName;
 +       serv.sin_port = htons(portNumber);  +       int portNumber;
 +       bcopy(servhost->h_addr, (void *)&serv.sin_addr, servhost->h_length);  + {
 +  +       struct hostent *servhost;
 +       if ((socketid = socket(AF_INET, SOCK_STREAM, 0)) <0) {  +       struct sockaddr_in serv;
 +               fprintf(stderr, "Socket allocation is failed.\n\n");  +       int socketid, on;
 +               return (-1);  +
 +       }  +       if ((servhost = gethostbyname(serverName)) == NULL) {
 +  +               fprintf(stderr, "Bad server name.\n\n");
 +#if 0 /* XXX */  +               return (-1);
 +       on = 1;  +       }
 +       setsockopt(socketid, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));  +
 +#endif  +       bzero((void *)&serv, sizeof(serv));
 +  +       serv.sin_family = AF_INET;
 +       if (!Quiet) {  +       serv.sin_port = htons(portNumber);
 +               fprintf(TcpioError, "Trying to connect port %d, ip=%x\n",  +       bcopy(servhost->h_addr, (void *)&serv.sin_addr, servhost->h_length);
 +                       ntohs(serv.sin_port), serv.sin_addr);  +
 +       }  +       if ((socketid = socket(AF_INET, SOCK_STREAM, 0)) <0) {
 +  +               fprintf(stderr, "Socket allocation is failed.\n\n");
 +       if (connect(socketid, (struct sockaddr *)&serv, sizeof(serv)) == -1) {  +               return (-1);
 +               fprintf(stderr, "cannot connect\n");  +       }
 +               return (-1);  +
 +       }  + #if 0 /* XXX */
 +  +       on = 1;
 +       if (!Quiet)  +       setsockopt(socketid, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
 +               fprintf(TcpioError, "connected.\n");  + #endif
 +  +
 +       return(socketid);  +       if (!Quiet) {
 +}  +               fprintf(stderr, "Trying to connect port %d, ip=%x\n",
 +  +                       ntohs(serv.sin_port), serv.sin_addr);
 +int  +       }
 +socketOpen(serverName, portNumber)  +
 +       char *serverName;  +       if (connect(socketid, (struct sockaddr *)&serv, sizeof(serv)) == -1) {
 +       int portNumber;  +               fprintf(stderr, "cannot connect\n");
 +{  +               return (-1);
 +       static struct hostent *servhost;  +       }
 +       static struct sockaddr_in serv;  +
 +       static int s_wait;  +       if (!Quiet)
 +       static int on;  +               fprintf(stderr, "connected.\n");
 +       extern int errno;  +
 +       int tt;  +       return(socketid);
 +  + }
 +       fprintf(TcpioError, "Hello from open. serverName is %s "  +
 +                           "and portNumber is %d\n", serverName, portNumber);  + int
 +  + socketOpen(serverName, portNumber)
 +       if ((servhost = gethostbyname(serverName)) == NULL) {  +       char *serverName;
 +               fprintf(stderr, "Bad server name.\n");  +       int portNumber;
 +               return (-1);  + {
 +       }  +       static struct hostent *servhost;
 +  +       static struct sockaddr_in serv;
 +       bzero((void *)&serv, sizeof(serv));  +       static int s_wait;
 +       serv.sin_family = AF_INET;  +       static int on;
 +       serv.sin_port = htons(portNumber);  +       extern int errno;
 +       bcopy(servhost->h_addr, &serv.sin_addr, servhost->h_length);  +       int tt;
 +  +
 +       if ((s_wait = socket(AF_INET,SOCK_STREAM, 0)) < 0) {  +       fprintf(stderr, "Hello from open. serverName is %s "
 +               fprintf(stderr, "Socket allocation is failed.\n");  +                           "and portNumber is %d\n", serverName, portNumber);
 +               return (-1);  +
 +       }  +       if ((servhost = gethostbyname(serverName)) == NULL) {
 +  +               fprintf(stderr, "Bad server name.\n");
 +       on = 1;  +               return (-1);
 +       setsockopt(s_wait, SOL_SOCKET,SO_REUSEADDR, &on, sizeof(on));  +       }
 +  +
 +       /* important */  +       bzero((void *)&serv, sizeof(serv));
 +       if ((tt = bind(s_wait, (struct sockaddr *)&serv, sizeof(serv))) == -1) {  +       serv.sin_family = AF_INET;
 +               fprintf(TcpioError, "bind error. Error no is %d. "  +       serv.sin_port = htons(portNumber);
 +                                   "See /usr/include/sys/errno.h. "  +       bcopy(servhost->h_addr, &serv.sin_addr, servhost->h_length);
 +                                   "(asm/errno.h)\n", errno);  +
 +               fprintf(stderr, "cannot bind\n");  +       if ((s_wait = socket(AF_INET,SOCK_STREAM, 0)) < 0) {
 +               return (-1);  +               fprintf(stderr, "Socket allocation is failed.\n");
 +       }  +               return (-1);
 +  +       }
 +#if 0 /* XXX */  +
 +       printf("bind returns %d\n", tt);  +       on = 1;
 +#endif  +       setsockopt(s_wait, SOL_SOCKET,SO_REUSEADDR, &on, sizeof(on));
 +  +
 +       tt = sizeof(serv);  +       /* important */
 +       if (getsockname(s_wait, (struct sockaddr *)&serv, &tt) < 0) {  +       if ((tt = bind(s_wait, (struct sockaddr *)&serv, sizeof(serv))) == -1) {
 +               fprintf(TcpioError, "getsockname error. Error no is %d. "  +               fprintf(stderr, "bind error. Error no is %d. "
 +                                   "See /usr/include/sys/errno.h "  +                                   "See /usr/include/sys/errno.h. "
 +                                   "(asm/errno.h).\n", errno);  +                                   "(asm/errno.h)\n", errno);
 +               fprintf(stderr, "cannot getsockname\n");  +               fprintf(stderr, "cannot bind\n");
 +               return (-1);  +               return (-1);
 +       }  +       }
 +  +
 +       if (listen(s_wait, 1) < 0) {  + #if 0 /* XXX */
 +               fprintf(stderr, "Listen failed\n");  +       printf("bind returns %d\n", tt);
 +               return (-1);  + #endif
 +       }  +
 +  +       tt = sizeof(serv);
 +       fprintf(TcpioError, "Done the initialization. "  +       if (getsockname(s_wait, (struct sockaddr *)&serv, &tt) < 0) {
 +                           "port =%d\n", ntohs(serv.sin_port));  +               fprintf(stderr, "getsockname error. Error no is %d. "
 +       OpenedSocket = ntohs(serv.sin_port);  +                                   "See /usr/include/sys/errno.h "
 +  +                                   "(asm/errno.h).\n", errno);
 +       return (s_wait);  +               fprintf(stderr, "cannot getsockname\n");
 +}  +               return (-1);
 +  +       }
 +int  +
 +socketAccept(snum)  +       if (listen(s_wait, 1) < 0) {
 +       int snum;  +               fprintf(stderr, "Listen failed\n");
 +{  +               return (-1);
 +       int s, news;  +       }
 +  +
 +       s = snum;  +       fprintf(stderr, "Done the initialization. "
 +  +                           "port =%d\n", ntohs(serv.sin_port));
 +       fprintf(TcpioError, "Trying to accept... ");  +       OpenedSocket = ntohs(serv.sin_port);
 +       fflush(TcpioError);  +
 +  +       return (s_wait);
 +       if ((news = accept(s, NULL, NULL)) < 0) {  + }
 +               fprintf(stderr, "Error in accept.\n");  +
 +               return (-1);  + int
 +       }  + socketAccept(snum)
 +  +       int snum;
 +       fprintf(TcpioError, "Accepted.\n");  + {
 +       fflush(TcpioError);  +       int s, news;
 +  +
 +       if (close(s) < 0) {  +       s = snum;
 +               fprintf(stderr, "Error in closing the old socket.\n");  +
 +               return (-1);  +       fprintf(stderr, "Trying to accept... ");
 +       }  +       fflush(stderr);
 +  +
 +       return(news);  +       if ((news = accept(s, NULL, NULL)) < 0) {
 +}  +               fprintf(stderr, "Error in accept.\n");
 +  +               return (-1);
 +int  +       }
 +oxSocketSelect0(fd, t)  +
 +       int fd, t;  +       fprintf(stderr, "Accepted.\n");
 +{  +       fflush(stderr);
 +       fd_set readfds;  +
 +       struct timeval timeout;  +       if (close(s) < 0) {
 +       int debug = 0;  +               fprintf(stderr, "Error in closing the old socket.\n");
 +       extern int errno;  +               return (-1);
 +  +       }
 +       FD_ZERO(&readfds);  +
 +       FD_SET(fd, &readfds);  +       return(news);
 +       timeout.tv_sec = 0;  + }
 +       timeout.tv_usec = (long)t;  +
 +  + int
 +       if (t >= 0) {  + oxSocketSelect0(fd, t)
 +               if (debug) {  +       int fd, t;
 +                       printf("select t >= 0 for fd = %d\n", fd);  + {
 +                       fflush(NULL);  +       fd_set readfds;
 +               }  +       struct timeval timeout;
 +  +       int debug = 0;
 +               /* It must be fd + 1!, Not fd. */  +       extern int errno;
 +               if (select(fd + 1, &readfds, NULL, NULL, &timeout) < 0) {  +
 +                       fprintf(TcpioError, "select (non-block) error. "  +       FD_ZERO(&readfds);
 +                                           "Error no is %d. "  +       FD_SET(fd, &readfds);
 +                                           "See /usr/include/sys/errno.h "  +       timeout.tv_sec = 0;
 +                                           "(asm/errno.h).\n", errno);  +       timeout.tv_usec = (long)t;
 +                       fprintf(stderr, "oxSocketSelect0() : select failed.\n");  +
 +                       return (0);  +       if (t >= 0) {
 +               }  +               if (debug) {
 +  +                       printf("select t >= 0 for fd = %d\n", fd);
 +               if (debug) {  +                       fflush(NULL);
 +                       printf("Return from select t >= 0 for fd = %d\n", fd);  +               }
 +                       fflush(NULL);  +
 +               }  +               /* It must be fd + 1!, Not fd. */
 +       } else {  +               if (select(fd + 1, &readfds, NULL, NULL, &timeout) < 0) {
 +               /* block */  +                       fprintf(stderr, "select (non-block) error. "
 +               if (select(fd + 1, &readfds, NULL, NULL, NULL) < 0) {  +                                           "Error no is %d. "
 +                       fprintf(TcpioError, "select (block) error. "  +                                           "See /usr/include/sys/errno.h "
 +                                           "Error no is %d. "  +                                           "(asm/errno.h).\n", errno);
 +                                           "See /usr/include/sys/errno.h "  +                       fprintf(stderr, "oxSocketSelect0() : select failed.\n");
 +                                           "(asm/errno.h).\n", errno);  +                       return (0);
 +                       fprintf(stderr, "socketSelect0() : select failed.\n");  +               }
 +                       return (0);  +
 +               }  +               if (debug) {
 +       }  +                       printf("Return from select t >= 0 for fd = %d\n", fd);
 +  +                       fflush(NULL);
 +       if (FD_ISSET(fd, &readfds)) {  +               }
 +               return(1);  +       } else {
 +       } else {  +               /* block */
 +               return(0);  +               if (select(fd + 1, &readfds, NULL, NULL, NULL) < 0) {
 +       }  +                       fprintf(stderr, "select (block) error. "
 +}  +                                           "Error no is %d. "
 +  +                                           "See /usr/include/sys/errno.h "
 +int  +                                           "(asm/errno.h).\n", errno);
 +oxSocketMultiSelect(sid, size, t, result)  +                       fprintf(stderr, "socketSelect0() : select failed.\n");
 +       int sid[], size, t, result[];  +                       return (0);
 +{  +               }
 +       fd_set readfds;  +       }
 +       struct timeval timeout;  +
 +       int i, fd, p, isdata = 0;  +       if (FD_ISSET(fd, &readfds)) {
 +       extern int errno;  +               return(1);
 +  +       } else {
 +       FD_ZERO(&readfds);  +               return(0);
 +       timeout.tv_sec = 0;  +       }
 +       timeout.tv_usec = (long)t;  + }
 +  +
 +       fd = 0;  + int
 +  + oxSocketMultiSelect(sid, size, t, result)
 +       for (i = 0 ; i < size ; i++) {  +       int sid[], size, t, result[];
 +               if (sid[i] >= 0) {  + {
 +                       p = sid[i];  +       fd_set readfds;
 +                       if (p > fd)  +       struct timeval timeout;
 +                               fd = p;  +       int i, fd, p, isdata = 0;
 +                       FD_SET(p,&readfds);  +       extern int errno;
 +#if 0 /* XXX */  +
 +                       printf("p = %d, fd=%d", p, fd);  +       FD_ZERO(&readfds);
 +#endif  +       timeout.tv_sec = 0;
 +               }  +       timeout.tv_usec = (long)t;
 +       }  +
 +  +       fd = 0;
 +#if 0 /* XXX */  +
 +       printf("MultiSelect..\n");  +       for (i = 0 ; i < size ; i++) {
 +       fflush(NULL);  +               if (sid[i] >= 0) {
 +#endif  +                       p = sid[i];
 +  +                       if (p > fd)
 +       if (t >= 0) {  +                               fd = p;
 +               /* It must be fd + 1!, Not fd. */  +                       FD_SET(p,&readfds);
 +               if (select(fd + 1, &readfds, NULL, NULL, &timeout) < 0) {  + #if 0 /* XXX */
 +                       fprintf(TcpioError, "Select error. Error no is %d. "  +                       printf("p = %d, fd=%d", p, fd);
 +                                           "See /usr/include/sys/errno.h "  + #endif
 +                                           "(asm/errno.h).\n", errno);  +               }
 +                       fprintf(stderr, "oxSocketMultiSelect() : "  +       }
 +                                       "select failed.\n");  +
 +                       return (0);  + #if 0 /* XXX */
 +               }  +       printf("MultiSelect..\n");
 +       } else {  +       fflush(NULL);
 +               /* block */  + #endif
 +               if (select(fd + 1, &readfds, NULL, NULL, NULL) < 0) {  +
 +                       fprintf(TcpioError, "Select error. Error no is %d. "  +       if (t >= 0) {
 +                                           "See /usr/include/sys/errno.h "  +               /* It must be fd + 1!, Not fd. */
 +                                           "(asm/errno.h).\n", errno);  +               if (select(fd + 1, &readfds, NULL, NULL, &timeout) < 0) {
 +                       fprintf(stderr, "oxSocketMultiSelect() : "  +                       fprintf(stderr, "Select error. Error no is %d. "
 +                                       "(block) select failed.\n");  +                                           "See /usr/include/sys/errno.h "
 +                       return (0);  +                                           "(asm/errno.h).\n", errno);
 +               }  +                       fprintf(stderr, "oxSocketMultiSelect() : "
 +       }  +                                       "select failed.\n");
 +  +                       return (0);
 +#if 0 /* XXX */  +               }
 +       printf("Done. MultiSelect.\n");  +       } else {
 +       fflush(NULL);  +               /* block */
 +#endif  +               if (select(fd + 1, &readfds, NULL, NULL, NULL) < 0) {
 +  +                       fprintf(stderr, "Select error. Error no is %d. "
 +       for (i = 0 ; i < size ; i++) {  +                                           "See /usr/include/sys/errno.h "
 +               p = sid[i];  +                                           "(asm/errno.h).\n", errno);
 +               if ((sid[i] >= 0) && FD_ISSET(p, &readfds)) {  +                       fprintf(stderr, "oxSocketMultiSelect() : "
 +                       result[i] = 1;  +                                       "(block) select failed.\n");
 +                       isdata = 1;  +                       return (0);
 +               } else {  +               }
 +                       result[i] = 0;  +       }
 +               }  +
 +       }  + #if 0 /* XXX */
 +  +       printf("Done. MultiSelect.\n");
 +       return (isdata);  +       fflush(NULL);
 +}  + #endif
   +
   +       for (i = 0 ; i < size ; i++) {
   +               p = sid[i];
   +               if ((sid[i] >= 0) && FD_ISSET(p, &readfds)) {
   +                       result[i] = 1;
   +                       isdata = 1;
   +               } else {
   +                       result[i] = 0;
   +               }
   +       }
   +
   +       return (isdata);
   + }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>