[Top][All Lists]
[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);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18333 - libmwmodem/src/main,
gnunet <=