lock_file: move olsrd_get_default_lockfile into its own file
authorFerry Huberts <ferry.huberts@pelagic.nl>
Mon, 9 Nov 2015 13:44:55 +0000 (14:44 +0100)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Wed, 11 Nov 2015 16:09:26 +0000 (17:09 +0100)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
src/cfgparser/Makefile
src/cfgparser/cfgfile_gen.c
src/cfgparser/olsrd_conf.c
src/cfgparser/olsrd_conf.h
src/lock_file.c [new file with mode: 0644]
src/lock_file.h [new file with mode: 0644]

index 6ace3c1..71f3dcf 100644 (file)
@@ -57,7 +57,7 @@ else
 LIBNAME ?=     olsrd_cfgparser.so.0.1
 BINNAME ?=     olsrd_cfgparser
 
-OBJS +=                ../ipcalc.o ../builddata.o ../common/autobuf.o
+OBJS +=                ../ipcalc.o ../builddata.o ../common/autobuf.o ../lock_file.o
 endif
 
 
index 4beb80f..f61e52c 100644 (file)
@@ -44,6 +44,7 @@
 #include "../net_olsr.h"
 #include "../common/autobuf.h"
 #include "../egressTypes.h"
+#include "../lock_file.h"
 
 #include <stdarg.h>
 #include <stdio.h>
index c9b01d5..b268d69 100644 (file)
@@ -47,6 +47,7 @@
 #include "olsr.h"
 #include "egressTypes.h"
 #include "gateway.h"
+#include "lock_file.h"
 
 #include <assert.h>
 #include <stdio.h>
@@ -1371,24 +1372,6 @@ void set_derived_cnf(struct olsrd_config * cnf) {
   }
 }
 
-/**
- * @param cnf the olsrd configuration
- * @param ip_version the ip version
- * @return a malloc-ed string for the default lock file name
- */
-char * olsrd_get_default_lockfile(struct olsrd_config *cnf) {
-  char buf[FILENAME_MAX];
-  int ipv = (cnf->ip_version == AF_INET) ? 4 : 6;
-
-#ifndef DEFAULT_LOCKFILE_PREFIX
-  snprintf(buf, sizeof(buf), "%s-ipv%d.lock", cnf->configuration_file ? cnf->configuration_file : "olsrd", ipv);
-#else
-  snprintf(buf, sizeof(buf), "%s-ipv%d.lock", DEFAULT_LOCKFILE_PREFIX, ipv);
-#endif /* DEFAULT_LOCKFILE_PREFIX */
-
-  return strdup(buf);
-}
-
 /*
  * Local Variables:
  * c-basic-offset: 2
index 0b5d17b..dec02d7 100644 (file)
 
 #define PARSER_VERSION "0.1.2"
 
-#if defined __ANDROID__
-#define DEFAULT_LOCKFILE_PREFIX "/data/local/olsrd"
-#elif defined linux || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__
-#define DEFAULT_LOCKFILE_PREFIX "/var/run/olsrd"
-#elif defined _WIN32
-#define DEFAULT_LOCKFILE_PREFIX "C:\\olsrd"
-#else /* defined _WIN32 */
-#define DEFAULT_LOCKFILE_PREFIX "olsrd"
-#endif /* defined _WIN32 */
-
 extern int current_line;
 
 struct conf_token {
@@ -73,8 +63,6 @@ void set_default_cnf(struct olsrd_config *, char * configuration_file);
 
 void set_derived_cnf(struct olsrd_config * olsr_cnf);
 
-char * olsrd_get_default_lockfile(struct olsrd_config *cnf);
-
 #endif /* _OLSRD_CONF_H */
 
 /*
diff --git a/src/lock_file.c b/src/lock_file.c
new file mode 100644 (file)
index 0000000..5873e63
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * The olsr.org Optimized Link-State Routing daemon(olsrd)
+ * Copyright (c) 2004-2009, the olsr.org team - see HISTORY file
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in
+ *   the documentation and/or other materials provided with the
+ *   distribution.
+ * * Neither the name of olsr.org, olsrd nor the names of its
+ *   contributors may be used to endorse or promote products derived
+ *   from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Visit http://www.olsr.org for more information.
+ *
+ * If you find this software useful feel free to make a donation
+ * to the project. For more information see the website or contact
+ * the copyright holders.
+ *
+ */
+
+#include "lock_file.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#if defined __ANDROID__
+  #define DEFAULT_LOCKFILE_PREFIX "/data/local/olsrd"
+#elif defined linux || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__
+  #define DEFAULT_LOCKFILE_PREFIX "/var/run/olsrd"
+#elif defined _WIN32
+  #define DEFAULT_LOCKFILE_PREFIX "C:\\olsrd"
+#else /* defined _WIN32 */
+  #define DEFAULT_LOCKFILE_PREFIX "olsrd"
+#endif /* defined _WIN32 */
+
+/**
+ * @param cnf the olsrd configuration
+ * @param ip_version the ip version
+ * @return a malloc-ed string for the default lock file name
+ */
+char * olsrd_get_default_lockfile(struct olsrd_config *cnf) {
+  char buf[FILENAME_MAX];
+  int ipv = (cnf->ip_version == AF_INET) ? 4 : 6;
+
+#ifndef DEFAULT_LOCKFILE_PREFIX
+  snprintf(buf, sizeof(buf), "%s-ipv%d.lock", cnf->configuration_file ? cnf->configuration_file : "olsrd", ipv);
+#else
+  snprintf(buf, sizeof(buf), "%s-ipv%d.lock", DEFAULT_LOCKFILE_PREFIX, ipv);
+#endif /* DEFAULT_LOCKFILE_PREFIX */
+
+  return strdup(buf);
+}
diff --git a/src/lock_file.h b/src/lock_file.h
new file mode 100644 (file)
index 0000000..868d996
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * The olsr.org Optimized Link-State Routing daemon(olsrd)
+ * Copyright (c) 2004-2009, the olsr.org team - see HISTORY file
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in
+ *   the documentation and/or other materials provided with the
+ *   distribution.
+ * * Neither the name of olsr.org, olsrd nor the names of its
+ *   contributors may be used to endorse or promote products derived
+ *   from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Visit http://www.olsr.org for more information.
+ *
+ * If you find this software useful feel free to make a donation
+ * to the project. For more information see the website or contact
+ * the copyright holders.
+ *
+ */
+
+#ifndef SRC_LOCK_FILE_H_
+#define SRC_LOCK_FILE_H_
+
+#include "olsr_cfg.h"
+
+char * olsrd_get_default_lockfile(struct olsrd_config *cnf);
+
+#endif /* SRC_LOCK_FILE_H_ */