Changed str(n)dup to olsr_str(n)dup, changed cookie-allocs to olsr_malloc to ease...
authorSven-Ola Tuecke <sven-ola@gmx.de>
Fri, 2 Jan 2009 08:30:32 +0000 (09:30 +0100)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Fri, 2 Jan 2009 08:30:32 +0000 (09:30 +0100)
lib/dyn_gw/src/olsrd_dyn_gw.c
lib/nameservice/src/compat.c [deleted file]
lib/nameservice/src/compat.h [deleted file]
lib/nameservice/src/nameservice.c
src/olsr.h
src/olsr_cfg.c
src/olsr_cookie.c

index a7be720..e5cf7e7 100644 (file)
@@ -399,7 +399,7 @@ add_to_ping_list(const char *ping_address, struct ping_list *the_ping_list)
     fprintf(stderr, "DYN GW: Out of memory!\n");
     exit(0);
   }
-  new->ping_address = strdup(ping_address);
+  new->ping_address = olsr_strdup(ping_address);
   new->next = the_ping_list;
   return new;
 }
diff --git a/lib/nameservice/src/compat.c b/lib/nameservice/src/compat.c
deleted file mode 100644 (file)
index 6901e0d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "compat.h"
-
-#ifndef linux
-#include <stdlib.h>
-#include <string.h>
-
-/* strndup() is a GNU extention */
-char *
-strndup(const char *ptr, size_t size)
-{
-  size_t len = strlen(ptr);
-  char *ret = NULL;
-
-  if(len > size)
-    len = size;
-
-  ret = malloc(len + 1);
-
-  if(!ret)
-    return NULL;
-
-  memcpy(ret, ptr, len);
-  ret[len] = '\0';
-
-  return ret;
-}
-
-#endif
-
-/*
- * Local Variables:
- * c-basic-offset: 2
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/lib/nameservice/src/compat.h b/lib/nameservice/src/compat.h
deleted file mode 100644 (file)
index aaae06f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _NAMESERVICE_COMPAT
-#define _NAMESERVICE_COMPAT
-
-#include <sys/types.h>
-
-char *
-strndup(const char *ptr, size_t size);
-
-#endif
-
-/*
- * Local Variables:
- * c-basic-offset: 2
- * indent-tabs-mode: nil
- * End:
- */
index 064bb99..b68d081 100644 (file)
@@ -64,7 +64,6 @@
 #include "plugin_util.h"
 #include "nameservice.h"
 #include "mapwrite.h"
-#include "compat.h"
 #include "common/string.h"
 
 
@@ -310,7 +309,7 @@ add_name_to_list(struct name_entry *my_list, const char *value, int type, const
 {
        struct name_entry *tmp = olsr_malloc(sizeof(struct name_entry),
          "new name_entry add_name_to_list");
-       tmp->name = strndup( value, MAX_NAME );
+       tmp->name = olsr_strndup( value, MAX_NAME );
        tmp->len = strlen( tmp->name );
        tmp->type = type;
        // all IPs with value 0 will be set to main_addr later
@@ -1595,7 +1594,7 @@ allowed_hostname_or_ip_in_service(const char *service_line, const regmatch_t *ho
                return false;
        }
 
-       hostname_or_ip = strndup(&service_line[hostname_or_ip_match->rm_so], hostname_or_ip_match->rm_eo - hostname_or_ip_match->rm_so);
+       hostname_or_ip = olsr_strndup(&service_line[hostname_or_ip_match->rm_so], hostname_or_ip_match->rm_eo - hostname_or_ip_match->rm_so);
        //hostname is one of the names, that I announce (i.e. one that i am allowed to announce)
        for (name = my_names; name != NULL; name = name->next) {
                if (strncmp(name->name, hostname_or_ip, name->len - strlen(my_suffix)) == 0 ) {
index 45da265..dfe0bdb 100644 (file)
@@ -96,10 +96,10 @@ void *
 EXPORT(olsr_malloc)(size_t, const char *);
 
 char *
-olsr_strdup(const char *s);
+EXPORT(olsr_strdup)(const char *s);
 
 char *
-olsr_strndup(const char *s, size_t n);
+EXPORT(olsr_strndup)(const char *s, size_t n);
 
 #endif
 
index d15f1cf..9159af3 100644 (file)
@@ -1196,7 +1196,7 @@ olsr_free_cnf(struct olsr_config *cnf)
     ind = in;
     in = in->next;
     free(ind->name);
-    free(ind->config);
+    if (ind->config) free(ind->config);
     free(ind);
   }
 
index acfba17..76fd290 100644 (file)
@@ -74,14 +74,14 @@ olsr_alloc_cookie(const char *cookie_name, olsr_cookie_type cookie_type)
 
   assert(ci_index < COOKIE_ID_MAX);    /* increase COOKIE_ID_MAX */
 
-  ci = calloc(1, sizeof(struct olsr_cookie_info));
+  ci = olsr_malloc(sizeof(struct olsr_cookie_info), "new cookie");
   cookies[ci_index] = ci;
 
   /* Now populate the cookie info */
   ci->ci_id = ci_index;
   ci->ci_type = cookie_type;
   if (cookie_name) {
-    ci->ci_name = strdup(cookie_name);
+    ci->ci_name = olsr_strdup(cookie_name);
   }
 
   /* Init the free list */
@@ -288,14 +288,7 @@ olsr_cookie_malloc(struct olsr_cookie_info *ci)
      * Allocate a fresh one.
      */
     size = ci->ci_size + sizeof(struct olsr_cookie_mem_brand);
-    ptr = calloc(1, size);
-
-    if (!ptr) {
-      const char *const err_msg = strerror(errno);
-      OLSR_PRINTF(1, "OUT OF MEMORY: %s\n", err_msg);
-      olsr_syslog(OLSR_LOG_ERR, "olsrd: out of memory!: %s\n", err_msg);
-      olsr_exit(ci->ci_name, EXIT_FAILURE);
-    }
+    ptr = olsr_malloc(size, ci->ci_name);
 
     /*
      * Poison the memory for debug purposes ?