static void roadmap_config_update (RoadMapConfig *config, int force) { FILE *file; const char *value; const char *p = NULL; RoadMapConfigItem *item; if (force || (config->state == ROADMAP_CONFIG_DIRTY)) { #ifndef J2ME for ( p = roadmap_path_first( config->set ); p != NULL; p = roadmap_path_next( config->set, p ) ) { if ( roadmap_file_exists( p, "" ) ) break; } #endif if ( p == NULL ) { p = roadmap_path_config(); } #ifdef J2ME char file_name[100]; sprintf(file_name,"%s_j2me",config->name); file = roadmap_file_fopen (p, file_name, "w"); #else file = roadmap_file_fopen ( p, config->name, "w" ); #endif if ( file ) { for (item = config->first_item; item != NULL; item = item->next) { if ((! force) && (item->state == ROADMAP_CONFIG_SHARED)) continue; if (item->value != NULL) { value = item->value; } else { value = item->default_value; } #ifdef J2ME char name_to_write[100]; // this will be of the category.type name sprintf(name_to_write,"%s.%s", item->category, item->name); roadmap_config_write_name_value_to_binary(name_to_write,value,file); #else fprintf (file, "%s.%s: %s\n", item->category, item->name, value); #endif } fclose (file); config->state = ROADMAP_CONFIG_CLEAN; } } }
int roadmap_config_reload (const char *name) { const char *p; RoadMapConfig *file; for (file = RoadMapConfigFiles; file->name != NULL; ++file) { if (!strcmp (file->name, name)) break; } if (file->name == NULL) { roadmap_log (ROADMAP_ERROR, "config_reload found no '%s' config file", name); return -1; } else { int loaded = 0; file->age++; for (p = roadmap_path_first(file->set); p != NULL; p = roadmap_path_next(file->set, p)) { //printf("loading set '%s'\n",file->set); loaded = roadmap_config_load (p, file, ROADMAP_CONFIG_CLEAN); if (loaded) { //printf("loaded ok\n"); //printf("loaded %s: %s\n",file->set,p); //printf("name: %s\n",name); break; } } if ( p == NULL ) { p = roadmap_path_config(); loaded = roadmap_config_load (p, file, ROADMAP_CONFIG_CLEAN); } if (file->required && (!loaded)) { roadmap_log (ROADMAP_ERROR, "found no '%s' config file, check RoadMap installation", file->name); return -1; } return 0; } }
static void roadmap_config_update (RoadMapConfig *config, int force) { FILE *file; const char *value; const char *p; RoadMapConfigItem *item; if (force || (config->state == ROADMAP_CONFIG_DIRTY)) { for ( p = roadmap_path_first( config->set ); p != NULL; p = roadmap_path_next( config->set, p ) ) { if ( roadmap_file_exists( p, "" ) ) break; } if ( p == NULL ) { p = roadmap_path_config(); } file = roadmap_file_fopen ( p, config->name, "w" ); if ( file ) { for (item = config->first_item; item != NULL; item = item->next) { if ((! force) && (item->state == ROADMAP_CONFIG_SHARED)) continue; if (item->value != NULL) { value = item->value; } else { value = item->default_value; } fprintf (file, "%s.%s: %s\n", item->category, item->name, value); } fclose (file); config->state = ROADMAP_CONFIG_CLEAN; } } }