Changeset 87


Ignore:
Timestamp:
Jun 3, 2009, 6:52:12 PM (5 years ago)
Author:
simon
Message:

remove the global debug variable, fix crash in main.c

Location:
branches/client-library-split
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/client-library-split/SConstruct

    r71 r87  
    1515env.ParseConfig('pkg-config --cflags --libs cairo') 
    1616env.ParseConfig('pkg-config --cflags --libs glib-2.0') 
     17env.ParseConfig('pkg-config --cflags --libs gobject-2.0') 
    1718 
    1819conf = Configure(env) 
  • branches/client-library-split/main.c

    r80 r87  
    3333#include "list.h" 
    3434#include "mlib.h" 
     35 
     36#include "memphis.h" 
    3537 
    3638// Global Vars 
     
    124126int main(int argc, char **argv) { 
    125127 
     128    g_type_init (); 
     129 
    126130    cfgRules *ruleset; 
    127131    osmFile *osm; 
     
    163167    banner(); 
    164168 
    165     ruleset = (cfgRules *) rulesetRead(opts->cfgfn); 
     169    ruleset = (cfgRules *) rulesetRead(opts->cfgfn, opts->debug); 
    166170    if(ruleset == NULL) 
    167171        return(-1); 
    168172 
    169     osm = (osmFile *) osmRead(opts->osmfn); 
     173    osm = (osmFile *) osmRead(opts->osmfn, opts->debug); 
    170174    if(ruleset == NULL) 
    171175        return(-1); 
  • branches/client-library-split/memphis-map.c

    r85 r87  
    7777{ 
    7878  self->map = NULL; 
     79  self->debug_level = 1; 
    7980} 
    8081 
     
    8384{ 
    8485  MemphisMap* mmap = g_object_new (MEMPHIS_TYPE_MAP, NULL); 
    85   mmap->map = (osmFile *) osmRead(filename); 
     86  mmap->map = (osmFile *) osmRead(filename, mmap->debug_level); 
    8687  return mmap; 
    8788} 
  • branches/client-library-split/memphis-map.h

    r85 r87  
    4545typedef struct { 
    4646  GObject parent; 
    47   osmFile *map; 
     47  struct osmFile_ *map; // FIXME: osmFile *map; 
     48  gint8 debug_level; 
     49/* 0: Be quiet 
     50   1: Normal Output (Default) 
     51   2: Be verbose */ 
    4852} MemphisMap; 
    4953 
  • branches/client-library-split/memphis-renderer.c

    r86 r87  
    5959{ 
    6060  g_return_if_fail (MEMPHIS_IS_RENDERER (renderer)); 
    61    
    62   //cfgRules *ruleset; 
    63   //osmFile *osm; 
    64   //stringChunk = g_string_chunk_new (265); 
    65   //stringTree = g_tree_new (m_tree_strcmp); 
    66  
    67   //ruleset = (cfgRules *) rulesetRead ("rule.xml"); 
    68  
    69   //osm = (osmFile *) osmRead("zh.osm"); 
    70  
    71   //g_tree_destroy(stringTree); 
    7261 
    7362  //renderCairo(ruleset, osm); 
    7463 
    75   //osmFree(osm); 
    76   //rulesetFree(ruleset); 
    77  
    78   //g_string_chunk_free(stringChunk); 
    7964} 
    8065 
  • branches/client-library-split/memphis-rule-set.c

    r86 r87  
    7676{ 
    7777  self->ruleset = NULL; 
     78  self->debug_level = 1; 
    7879} 
    7980 
     
    8283{ 
    8384  MemphisRuleSet* mruleset = g_object_new (MEMPHIS_TYPE_RULESET, NULL); 
    84   mruleset->ruleset = (cfgRules *) rulesetRead (filename); 
     85  mruleset->ruleset = (cfgRules *) rulesetRead (filename, mruleset->debug_level); 
    8586  return mruleset; 
    8687} 
  • branches/client-library-split/memphis-rule-set.h

    r86 r87  
    4646  GObject parent; 
    4747  cfgRules *ruleset; 
     48  gint8 debug_level; 
    4849} MemphisRuleSet; 
    4950 
  • branches/client-library-split/osm05.c

    r83 r87  
    2828#include "list.h" 
    2929#include "mlib.h" 
    30 #include "main.h" 
    3130#include "osm05.h" 
    3231 
     
    3433 
    3534// External Vars 
    36 extern memphisOpt   *opts; 
    3735extern GStringChunk *stringChunk; 
    3836extern GTree        *stringTree; 
     
    4442  osmNode *cNode; 
    4543  osmWay *cWay; 
     44  // Collected Data 
     45  osmFile *osm; 
    4646  // Counts (used for debugging only!) 
    4747  int cntTag; 
    4848  int cntNd; 
    49   // Collected Data 
    50   osmFile *osm; 
     49  gint8 debug_level; 
    5150}; 
    5251 
     
    6362    mapUserData *data = (mapUserData *) userData; 
    6463    osmFile *osm = data->osm; 
    65     if (opts->debug > 1) 
     64    gint8 debug_level = data->debug_level; 
     65     
     66    if (debug_level > 1) 
    6667        fprintf(stdout,"osm05startElement\n"); 
    6768    // Parsing Bounds 
    6869    if (strncmp((char *) name, "bounds", 6) == 0) { 
    69         if (opts->debug > 1) 
     70        if (debug_level > 1) 
    7071            fprintf(stdout,"Parsing Bounds\n"); 
    7172        while (*atts != NULL) { 
     
    8485    // Parsing Node 
    8586    else if (strncmp((char *) name, "node", 4) == 0) { 
    86         if (opts->debug > 1) 
     87        if (debug_level > 1) 
    8788            fprintf(stdout,"Parsing Node\n"); 
    8889        data->cNode = g_new(osmNode, 1); 
     
    106107        LL_PREPEND(data->cNode, osm->nodes); 
    107108 
    108         if (opts->debug > 1) 
     109        if (debug_level > 1) 
    109110            fprintf(stdout,"NODE: %i %f %f\n", data->cNode->id, data->cNode->lat, data->cNode->lon); 
    110111    } 
    111112    // Parsing Tags 
    112113    else if (strncmp((char *) name, "tag", 4) == 0) { 
    113         if (opts->debug > 1) 
     114        if (debug_level > 1) 
    114115            fprintf(stdout,"Parsing Tag\n"); 
    115116 
     
    150151        data->cTag->value = m_string_chunk_get(stringChunk, stringTree, v); 
    151152         
    152         if (opts->debug > 1) 
     153        if (debug_level > 1) 
    153154            fprintf(stdout,"Tag: %s => %s\n", data->cTag->key, data->cTag->value); 
    154155 
     
    163164    // Parsing Way 
    164165    else if (strncmp((char *) name, "way", 3) == 0) { 
    165         if (opts->debug > 1) 
     166        if (debug_level > 1) 
    166167            fprintf(stdout,"Parsing Way\n"); 
    167168        data->cWay = g_new(osmWay, 1); 
     
    183184        LL_PREPEND(data->cWay, osm->ways); 
    184185 
    185         if (opts->debug > 1) 
     186        if (debug_level > 1) 
    186187            fprintf(stdout,"WAY(%i)\n", data->cWay->id); 
    187188    } 
    188189    // Parsing WayNode 
    189190    else if (strncmp((char *) name, "nd", 2) == 0) { 
    190         if (opts->debug > 1) 
     191        if (debug_level > 1) 
    191192            fprintf(stdout,"Parsing Nd\n"); 
    192193        int ref = 0; 
     
    212213            data->cWay->nd = g_slist_prepend(data->cWay->nd, n); 
    213214 
    214             if (opts->debug > 1) 
     215            if (debug_level > 1) 
    215216                fprintf(stdout," ND( %f %f )\n", n->lat, n->lon); 
    216217 
     
    231232osmEndElement(void *userData, const char *name) { 
    232233    mapUserData *data = (mapUserData *) userData; 
    233     if (opts->debug > 1) 
     234    int debug_level = data->debug_level; 
     235     
     236    if (debug_level > 1) 
    234237        fprintf(stdout,"osm05endElement\n"); 
    235238    if (strncmp((char *) name, "node", 4) == 0) { 
     
    245248 * rulesetRead 
    246249 */ 
    247 osmFile* osmRead(char *filename) { 
    248     if (opts->debug > 1) 
     250osmFile* osmRead(char *filename, gint8 debug_level) { 
     251    if (debug_level > 1) 
    249252        fprintf(stdout,"osmRead\n"); 
    250253 
     
    262265    data->cntTag = 0; 
    263266    data->cntNd = 0; 
     267    data->debug_level = debug_level; 
    264268     
    265269    // Test file 
     
    291295    data->osm = osm; 
    292296 
    293     if (opts->debug > 0) { 
     297    if (debug_level > 0) { 
    294298        fprintf(stdout," OSM parsing   0%%"); 
    295299        fflush(stdout); 
     
    312316        } 
    313317        read += len; 
    314         if (opts->debug > 0) { 
     318        if (debug_level > 0) { 
    315319            fprintf(stdout,"\r OSM parsing % 3i%%", (int)((read*100)/size)); 
    316320            fflush(stdout); 
     
    355359    osm->nodeidx=NULL; 
    356360     
    357     if (opts->debug > 0) 
     361    if (debug_level > 0) 
    358362        fprintf(stdout,"\r OSM parsing done. (%i/%i/%i/%i) [%fs]\n", 
    359363                osm->nodecnt, osm->waycnt, data->cntTag, data->cntNd, 
  • branches/client-library-split/osm05.h

    r80 r87  
    2222 
    2323#include <glib.h> 
     24#include "memphis-map.h" 
    2425 
    2526typedef struct osmTag_ osmTag; 
     
    8182 * Prototypes 
    8283 */ 
    83 osmFile* osmRead(char *filename); 
     84osmFile* osmRead (char *filename, gint8 debug_level); 
    8485void osmFree(osmFile *osm); 
    8586 
  • branches/client-library-split/ruleset.c

    r84 r87  
    2525#include <string.h> 
    2626 
    27 #include "main.h" 
    2827#include "list.h" 
    2928#include "ruleset.h" 
     
    3534 
    3635// External Vars 
    37 extern memphisOpt   *opts; 
    3836extern GStringChunk *stringChunk; 
    3937extern GTree        *stringTree; 
    40  
    4138 
    4239typedef struct rulesUserData_ rulesUserData; 
     
    4845  // Collected Data 
    4946  cfgRules *ruleset; 
     47  // Debug 
     48  gint8 debug_level; 
    5049}; 
    5150 
     
    6261    rulesUserData *data = (rulesUserData *)userData; 
    6362    cfgRules *ruleset = data->ruleset; 
    64     if (opts->debug > 1) 
     63    gint8 debug_level = data->debug_level; 
     64     
     65    if (debug_level > 1) 
    6566        fprintf(stdout,"cfgStartElement\n"); 
    6667 
     
    199200    rulesUserData *data = (rulesUserData *)userData; 
    200201    cfgRules *ruleset = data->ruleset; 
    201     if (opts->debug > 1) 
     202    gint8 debug_level = data->debug_level; 
     203     
     204    if (debug_level > 1) 
    202205        fprintf(stdout,"cfgEndElement\n"); 
    203206 
     
    224227 * Called to parse rules in the rulefile. Returns a cfgRules struct. 
    225228 */ 
    226 cfgRules* rulesetRead(char *filename) { 
    227     if (opts->debug > 1) 
     229cfgRules* rulesetRead(char *filename, gint8 debug_level) { 
     230    if (debug_level > 1) 
    228231        fprintf(stdout,"rulesetRead\n"); 
    229232 
     
    265268    ruleset->cntElse = 0; 
    266269    data->ruleset = ruleset; 
    267  
    268     if (opts->debug > 0) { 
     270    data->debug_level = debug_level; 
     271 
     272    if (debug_level > 0) { 
    269273        fprintf(stdout," Ruleset parsing   0%%"); 
    270274        fflush(stdout); 
     
    288292        } 
    289293        read += len; 
    290         if (opts->debug > 0) { 
     294        if (debug_level > 0) { 
    291295            fprintf(stdout,"\r Ruleset parsing % 3i%%", (int)((read*100)/size)); 
    292296            fflush(stdout); 
     
    307311    g_free(data); 
    308312 
    309     if (opts->debug > 0) 
     313    if (debug_level > 0) 
    310314        fprintf(stdout,"\r Ruleset parsing done. (%i/%i) [%fs]\n", 
    311315                ruleset->cntRule,  ruleset->cntElse, 
  • branches/client-library-split/ruleset.h

    r80 r87  
    9090 * Prototypes 
    9191 */ 
    92 cfgRules* rulesetRead(char *filename); 
     92cfgRules* rulesetRead(char *filename, gint8 debug_level); 
    9393void rulesetFree(cfgRules * ruleset); 
    9494 
Note: See TracChangeset for help on using the changeset viewer.