Win32 Bugfixes, first part
authorHenning Rogge <hrogge@googlemail.com>
Mon, 23 Mar 2009 22:42:55 +0000 (23:42 +0100)
committerHenning Rogge <hrogge@googlemail.com>
Mon, 23 Mar 2009 22:42:55 +0000 (23:42 +0100)
src/olsr_logging.c
src/win32/compat.c
src/win32/ifnet.c
src/win32/net.c
src/win32/sys/time.h

index 4ca5878..ff9a050 100644 (file)
@@ -208,7 +208,7 @@ void olsr_log (enum log_severity severity, enum log_source source, bool no_heade
   static char logbuffer[LOGBUFFER_SIZE];
   va_list ap;
   int p1 = 0,p2 = 0, i;
-  struct tm now;
+  struct tm now, *tm_ptr;
   struct timeval timeval;
 
   /* test if event is consumed by any log handler */
@@ -219,7 +219,10 @@ void olsr_log (enum log_severity severity, enum log_source source, bool no_heade
 
   /* calculate local time */
   gettimeofday(&timeval, NULL);
-  localtime_r ( (time_t *) &timeval.tv_sec, &now );
+
+  /* there is no localtime_r in win32 */
+  tm_ptr = localtime ( (time_t *) &timeval.tv_sec);
+  now = *tm_ptr;
 
   /* generate log string (insert file/line in DEBUG mode) */
   if (!no_header) {
index 7e0eb6c..6b7ee88 100644 (file)
@@ -104,7 +104,7 @@ int nanosleep(struct timespec *Req, struct timespec *Rem)
   return 0;
 }
 
-void gettimeofday(struct timeval *TVal, void *TZone __attribute__((unused)))
+int gettimeofday(struct timeval *TVal, void *TZone __attribute__((unused)))
 {
   SYSTEMTIME SysTime;
   FILETIME FileTime;
@@ -120,6 +120,7 @@ void gettimeofday(struct timeval *TVal, void *TZone __attribute__((unused)))
 
   TVal->tv_sec = (unsigned int)(Ticks / 10000000);
   TVal->tv_usec = (unsigned int)(Ticks % 10000000) / 10;
+  return 0;
 }
 
 long times(struct tms *Dummy __attribute__((unused)))
index 3c9a22b..a31ee3e 100644 (file)
@@ -638,12 +638,12 @@ int add_hemu_if(struct olsr_if_config *iface)
   ifp->hello_gen_timer =
     olsr_start_timer(iface->cnf->hello_params.emission_interval * MSEC_PER_SEC,
                      HELLO_JITTER, OLSR_TIMER_PERIODIC,
-                     olsr_cnf->lq_level == 0 ? &generate_hello : &olsr_output_lq_hello,
+                     &olsr_output_lq_hello,
                      ifp, hello_gen_timer_cookie->ci_id);
   ifp->tc_gen_timer =
     olsr_start_timer(iface->cnf->tc_params.emission_interval * MSEC_PER_SEC,
                      TC_JITTER, OLSR_TIMER_PERIODIC,
-                     olsr_cnf->lq_level == 0 ? &generate_tc : &olsr_output_lq_tc,
+                     &olsr_output_lq_tc,
                      ifp, tc_gen_timer_cookie->ci_id);
   ifp->mid_gen_timer =
     olsr_start_timer(iface->cnf->mid_params.emission_interval * MSEC_PER_SEC,
@@ -928,12 +928,12 @@ int chk_if_up(struct olsr_if_config *IntConf)
   New->hello_gen_timer =
     olsr_start_timer(IntConf->cnf->hello_params.emission_interval * MSEC_PER_SEC,
                      HELLO_JITTER, OLSR_TIMER_PERIODIC,
-                     olsr_cnf->lq_level == 0 ? &generate_hello : &olsr_output_lq_hello,
+                     &olsr_output_lq_hello,
                      New, hello_gen_timer_cookie->ci_id);
   New->tc_gen_timer =
     olsr_start_timer(IntConf->cnf->tc_params.emission_interval * MSEC_PER_SEC,
                      TC_JITTER, OLSR_TIMER_PERIODIC,
-                     olsr_cnf->lq_level == 0 ? &generate_tc : &olsr_output_lq_tc,
+                     &olsr_output_lq_tc,
                      New, tc_gen_timer_cookie->ci_id);
   New->mid_gen_timer =
     olsr_start_timer(IntConf->cnf->mid_params.emission_interval * MSEC_PER_SEC,
index eb5ad1c..9ad4605 100644 (file)
@@ -57,6 +57,7 @@
 #include "net_os.h"
 #include "net_olsr.h"
 #include "ipcalc.h"
+#include "olsr_logging.h"
 
 #if defined WINCE
 #define WIDE_STRING(s) L##s
@@ -111,7 +112,7 @@ int getsocket(int BuffSize, char *Int __attribute__((unused)))
                  (char *)&On, sizeof (On)) < 0)
   {
     OLSR_ERROR(LOG_NETWORKING, "Cannot set socket for OLSR PDUs to broadcast mode (%s)\n", strerror(errno));
-    CLOSESOCKET(sock);
+    CLOSESOCKET(Sock);
     olsr_exit(EXIT_FAILURE);
   }
 
index 401ee01..285f036 100644 (file)
@@ -89,7 +89,7 @@ struct timespec
 
 int nanosleep(struct timespec *Req, struct timespec *Rem);
 
-void gettimeofday(struct timeval *TVal, void *TZone);
+int gettimeofday(struct timeval *TVal, void *TZone);
 
 #endif