[PD-cvs] pd/src u_pdsend.c,1.1.1.3,1.1.1.3.2.1

Tim Blechmann timblech at users.sourceforge.net
Thu Apr 1 11:55:02 CEST 2004


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3417

Modified Files:
      Tag: devel_0_37
	u_pdsend.c 
Log Message:
added command line feature to send messages


Index: u_pdsend.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/u_pdsend.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.1.3.2.1
diff -C2 -d -r1.1.1.3 -r1.1.1.3.2.1
*** u_pdsend.c	9 May 2003 16:03:44 -0000	1.1.1.3
--- u_pdsend.c	1 Apr 2004 09:54:58 -0000	1.1.1.3.2.1
***************
*** 49,52 ****
--- 49,63 ----
  	else goto usage;
      }
+ 
+     //patch: support for command line messages by tim blechmann
+     char message[BUFSIZE*10]; //we allow pretty long messages 
+     if (argc == 5)
+     {
+ 	strncpy(message,*(argv+4),strlen(*(argv+4)));
+     }
+     if (argc > 5)
+ 	goto usage;
+     //end of patch
+ 
      else protocol = SOCK_STREAM;
  #ifdef MSW
***************
*** 101,104 ****
--- 112,136 ----
      }
  #endif
+ 
+     //patch: support for command line messages by tim blechmann
+     if (argc==5)
+     {
+     	char *bp, nsent, nsend;
+     	nsend = strlen(message);
+ 	for (bp = message, nsent = 0; nsent < nsend;)
+ 	{
+ 	    int res = send(sockfd, message, nsend-nsent, 0);
+ 	    if (res < 0)
+ 	    {
+ 	    	sockerror("send");
+ 		goto done;
+ 	    }
+     	    nsent += res;
+ 	    bp += res;
+ 	}
+     }
+     else
+     //end of patch
+ 
      	/* now loop reading stdin and sending  it to socket */
      while (1)
***************
*** 125,130 ****
      exit (0);
  usage:
!     fprintf(stderr, "usage: pdsend <portnumber> [host] [udp|tcp]\n");
      fprintf(stderr, "(default is localhost and tcp)\n");
      exit(1);
  }
--- 157,166 ----
      exit (0);
  usage:
!     //usage message adapted to the command line message patch
!     fprintf(stderr,
! 	    "usage: pdsend <portnumber> [host] [udp|tcp] [\"message\"]\n");
      fprintf(stderr, "(default is localhost and tcp)\n");
+     fprintf(stderr, "(if no message is given, pdsend reads from stdin)\n");
+ 
      exit(1);
  }





More information about the Pd-cvs mailing list