[osm-tile-server] 69/117: Use the settings

Ruben Undheim rubund-guest at moszumanska.debian.org
Tue Nov 3 23:18:21 UTC 2015


This is an automated email from the git hooks/post-receive script.

rubund-guest pushed a commit to branch master
in repository osm-tile-server.

commit 95f5ca074d4a876bc9179ac34ef7781b6468b35f
Author: Ruben Undheim <ruben.undheim at gmail.com>
Date:   Sun Sep 6 17:35:38 2015 +0200

    Use the settings
---
 src/osm-tile-server-import.c |  8 +++++++-
 src/parse-settings.c         | 37 ++++++++++++++++++++++++++++++-------
 src/parse-settings.h         |  5 ++++-
 3 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/src/osm-tile-server-import.c b/src/osm-tile-server-import.c
index 3d82282..d25b129 100644
--- a/src/osm-tile-server-import.c
+++ b/src/osm-tile-server-import.c
@@ -17,7 +17,13 @@ int main(int argc, char **argv)
 
 	parse_settings();
 
-	snprintf(command,255,"osm2pgsql --slim -d %s --cache-strategy sparse -C 100 --hstore -S /usr/share/osm2pgsql/default.style %s",dbname,pbffile);
+	if(strcmp(cfg_slim,"true") == 0) {
+		snprintf(cfg_slim,10,"--slim");
+	}
+	else {
+		snprintf(cfg_slim,10,"");
+	}
+	snprintf(command,255,"osm2pgsql %s -d %s --cache-strategy %s -C %s --hstore -S /usr/share/osm2pgsql/default.style %s",cfg_slim,cfg_dbname,cfg_cache_strategy,cfg_memory,pbffile);
 	printf("Importing to database with this command:\n\n");
 	printf(" %s\n\n",command);
 	system(command);
diff --git a/src/parse-settings.c b/src/parse-settings.c
index 8ca9c3f..99e1870 100644
--- a/src/parse-settings.c
+++ b/src/parse-settings.c
@@ -2,7 +2,29 @@
 #include <stdlib.h>
 #include <string.h>
 
-char dbname[64];
+char cfg_dbname[64];
+char cfg_slim[64];
+char cfg_cache_strategy[64];
+char cfg_memory[64];
+
+int parse_one(const char *l, const char *cmp, char *var){
+	int len;
+	len = strlen(cmp);
+	if(strncmp(cmp,l,strlen(cmp)) == 0) {
+		if(l[7] == '\"'){
+			char *substr = strstr(l+len+1,"\"");
+			*substr = 0;
+			strncpy(var,l+len+1,63);
+		}
+		else {
+			char *substr = strstr(l+len+1,"\n");
+			*substr = 0;
+			strncpy(var,l+len,63);
+		}
+		return 0;
+	}
+	else return -1;
+}
 
 void parse_settings()
 {
@@ -15,12 +37,13 @@ void parse_settings()
 	if (infile == NULL) exit(-1);
 	while((read = getline(&linebuf, &len, infile)) != -1 ) {
 		const char *l = linebuf;
-		if(strncmp("DBNAME=\"",l,8) == 0) {
-			char *substr = strstr(l+8,"\"");
-			*substr = 0;
-			//printf("Read line: %s\n",linebuf+8);
-			strncpy(dbname,linebuf+8,63);
-			//printf("%s\n",dbname);
+		if(parse_one(l,"DBNAME=",cfg_dbname) == 0){
+		}
+		else if(parse_one(l,"SLIM=",cfg_slim) == 0){
+		}
+		else if(parse_one(l,"CACHE_STRATEGY=",cfg_cache_strategy) == 0){
+		}
+		else if(parse_one(l,"MEMORY=",cfg_memory) == 0){
 		}
 	}
 	fclose(infile);
diff --git a/src/parse-settings.h b/src/parse-settings.h
index 94c053b..90f609c 100644
--- a/src/parse-settings.h
+++ b/src/parse-settings.h
@@ -1,7 +1,10 @@
 #ifndef INC_PARSE_SETTINGS_H
 #define INC_PARSE_SETTINGS_H
 
-extern char dbname[64];
+extern char cfg_dbname[64];
+extern char cfg_cache_strategy[64];
+extern char cfg_memory[64];
+extern char cfg_slim[64];
 
 void parse_settings();
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/osm-tile-server.git



More information about the Pkg-grass-devel mailing list