gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r18333 - libmwmodem/src/main


From: gnunet
Subject: [GNUnet-SVN] r18333 - libmwmodem/src/main
Date: Fri, 25 Nov 2011 23:30:16 +0100

Author: ruppa
Date: 2011-11-25 23:30:16 +0100 (Fri, 25 Nov 2011)
New Revision: 18333

Modified:
   libmwmodem/src/main/libmwmodem.c
Log:


Modified: libmwmodem/src/main/libmwmodem.c
===================================================================
--- libmwmodem/src/main/libmwmodem.c    2011-11-25 22:15:37 UTC (rev 18332)
+++ libmwmodem/src/main/libmwmodem.c    2011-11-25 22:30:16 UTC (rev 18333)
@@ -25,11 +25,9 @@
 #include <netinet/in.h>
 #include <string.h>
 
-uint32_t val; // Global, exported symbol!?
-
 struct MWMODEM_Context * MWMODEM_init (uint16_t port, int af_int, 
MWMODEM_InformationCallback *cb, void *cb_cls)
 {
-  static struct MWMODEM_Context *context; // NOT STATIC! Not a GLOBAL!!!
+    struct MWMODEM_Context context;
        struct sockaddr_in *adress4; // address!
        struct sockaddr_in6 *adress6;
 
@@ -46,11 +44,11 @@
        context = malloc(sizeof(struct MWMODEM_Context)); // CHECK RETURN VALUE!
        context->cb = cb;
 
-       (*context).socket = socket(af_int, SOCK_DGRAM, IPPROTO_UDP);
+       context->socket = socket(af_int, SOCK_DGRAM, IPPROTO_UDP);
 
        if (-1 == context->socket)
        {
-               fprintf(stderr, "Error no socket created: %s", strerror(errno));
+               fprintf(stderr, "Error no socket created: %s", strerror(errno));
                // LEAK!
                return;
        }       
@@ -59,7 +57,7 @@
        {
 
                memset (&adress4, 0, sizeof(adress4));
-               (*adress4).sin_family = af_int;
+               adress4->sin_family = af_int;
                // ->sin_len field on FreeBSD not set!
                if (port == 0)
                        {
@@ -69,7 +67,7 @@
                        {
                                (*adress4).sin_port = htons(port);
                        }
-               bind((*context).socket, adress4, sizeof(adress4)); // check 
return value!
+               bind(context->socket, adress4, sizeof(adress4)); // check 
return value!
        }
        else
        {
@@ -78,13 +76,13 @@
                (*adress6).sin6_family = af_int;
                if (port == 0)
                        {
-                               (*adress6).sin6_port = htons(MWMODEM_PORT);
+                               adress6->sin6_port = htons(MWMODEM_PORT);
                        }
                        else
                        {
-                               (*adress6).sin6_port = htons(port);
+                               adress6->sin6_port = htons(port);
                        }
-               bind((*context).socket, adress6, sizeof(adress6)); // check 
return value!
+               bind(context->socket, adress6, sizeof(adress6)); // check 
return value!
        }
        
        free(adress4);
@@ -101,6 +99,7 @@
 // Document! Exported symbol? -> static
 uint32_t charArrayToASCIICode (const char *byte4)
 {
+       uint32_t val;
        val = (uint32_t)byte4[0]
                     |val + (uint32_t)byte4[1] << 8
                     |val + (uint32_t)byte4[2] << 16
@@ -108,19 +107,6 @@
        return val;
 }
 
-uint32_t charArrazToInt (char byte4[4]) // Arraz?
-{
-       int i;
-       for (i=0; i<=3; i++)
-       {
-               if (byte4[i]>='0' || byte4[i]<='9')
-               {
-                       val=val+(((int)byte4[i])*10^i);
-               }
-       }
-       return val;
-}
-
 //Kanalinformationen
 struct MWChannel {
   uint8_t index;
@@ -137,7 +123,7 @@
   uint32_t time;
   uint32_t symbolrate;
   uint8_t channelmax;
-}
+};
 
 
 void MWMODEM_run (struct MWMODEM_Context *fc)
@@ -158,7 +144,7 @@
        package = malloc(sizeof(struct MWMODEM_Package));
        buffer = malloc(MWMODEM_MAXMESSLENGTH);
        
-       if (recvfrom((*fc).socket, *buffer, sizeof(buffer), 0, from, 
from_length)==-1)
+       if (recvfrom(fc->socket, *buffer, sizeof(buffer), 0, from, 
from_length)==-1)
        {
                printf("Error no message received!");
                // LEAK!
@@ -175,12 +161,12 @@
          package->symbolrate = ntohl(hdr->symbolrate);
          package->num_channels = (uint8_t) hdr->channelmax;
 
-               struct MWMODEM_Channel list2[(*package).num_channels];
+               struct MWMODEM_Channel list2[package->num_channels];
                list = list2;
 
                int i, currentBufferZelle;
                currentBufferZelle = 13;
-               for(i=0;i<=(*package).num_channels; i++)
+               for(i=0;i<=package->num_channels; i++)
                {
 
                        if(buffer[currentBufferZelle]==i)
@@ -263,13 +249,13 @@
                        return;
                }
        
-       (*package).channel = list;
+       package->channel = list;
 
-       (*(*fc).cb)((*fc).cls, package);
+       (*fc->cb)(fc->cls, package);
 }
 
 void MWMODEM_free (struct MWMODEM_Context *fc)
 {
-       close((*fc).socket);
+       close(fc->socket);
        free(fc);
 }




reply via email to

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