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.undh...@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

_______________________________________________
Pkg-grass-devel mailing list
Pkg-grass-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

Reply via email to