commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r4298 - gnuradio/trunk/gnuradio-core/src/lib/io


From: eb
Subject: [Commit-gnuradio] r4298 - gnuradio/trunk/gnuradio-core/src/lib/io
Date: Sat, 27 Jan 2007 11:39:31 -0700 (MST)

Author: eb
Date: 2007-01-27 11:39:31 -0700 (Sat, 27 Jan 2007)
New Revision: 4298

Modified:
   gnuradio/trunk/gnuradio-core/src/lib/io/gr_udp_source.cc
Log:
cleaned up error checking

Modified: gnuradio/trunk/gnuradio-core/src/lib/io/gr_udp_source.cc
===================================================================
--- gnuradio/trunk/gnuradio-core/src/lib/io/gr_udp_source.cc    2007-01-27 
18:21:55 UTC (rev 4297)
+++ gnuradio/trunk/gnuradio-core/src/lib/io/gr_udp_source.cc    2007-01-27 
18:39:31 UTC (rev 4298)
@@ -72,14 +72,14 @@
    
   // create socket
   d_socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
-  if(d_socket == 0) {
+  if(d_socket == -1) {
     perror("socket open");
     throw std::runtime_error("can't open socket");
   }
 
   // Turn on reuse address
   bool opt_val = true;
-  if(setsockopt(d_socket, SOL_SOCKET, SO_REUSEADDR, (void*)&opt_val, 
sizeof(int))) {
+  if(setsockopt(d_socket, SOL_SOCKET, SO_REUSEADDR, (void*)&opt_val, 
sizeof(int)) == -1) {
     perror("SO_REUSEADDR");
     throw std::runtime_error("can't set socket option SO_REUSEADDR");
   }
@@ -88,7 +88,7 @@
   linger lngr;
   lngr.l_onoff  = 1;
   lngr.l_linger = 0;
-  if(setsockopt(d_socket, SOL_SOCKET, SO_LINGER, (void*)&lngr, 
sizeof(linger))) {
+  if(setsockopt(d_socket, SOL_SOCKET, SO_LINGER, (void*)&lngr, sizeof(linger)) 
== -1) {
     perror("SO_LINGER");
     throw std::runtime_error("can't set socket option SO_LINGER");
   }
@@ -98,13 +98,13 @@
   timeval timeout;
   timeout.tv_sec = 1;
   timeout.tv_usec = 0;
-  if(setsockopt(d_socket, SOL_SOCKET, SO_RCVTIMEO, (void*)&timeout, 
sizeof(timeout))) {
+  if(setsockopt(d_socket, SOL_SOCKET, SO_RCVTIMEO, (void*)&timeout, 
sizeof(timeout)) == -1) {
     perror("SO_RCVTIMEO");
     throw std::runtime_error("can't set socket option SO_RCVTIMEO");
   }
 
   // bind socket to an address and port number to listen on
-  if(bind (d_socket, (sockaddr*)&d_sockaddr_local, sizeof(struct sockaddr))) {
+  if(bind (d_socket, (sockaddr*)&d_sockaddr_local, sizeof(struct sockaddr)) == 
-1) {
     perror("socket bind");
     throw std::runtime_error("can't bind socket");
   }
@@ -143,6 +143,8 @@
     // This is a blocking call, but it's timeout has been set in the 
constructor
     bytes = recv(d_socket, out, bytes_to_receive, 0);
 
+    // FIXME if bytes < 0 bail
+
     if(bytes > 0) {
       // keep track of the total number of bytes received
       bytes_received += bytes;
@@ -156,5 +158,6 @@
   printf("\nTotal Bytes Received: %d (noutput_items=%d)\n", bytes_received, 
noutput_items); 
   #endif
 
+  // FIXME what if (bytes_received % d_itemsize) != 0 ???
   return int(bytes_received / d_itemsize);
 }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]