|
Freeciv-3.4
|
#include <ctype.h>#include <stdarg.h>#include <stdlib.h>#include <string.h>#include "astring.h"#include "bugs.h"#include "deprecations.h"#include "fcintl.h"#include "inputfile.h"#include "ioz.h"#include "log.h"#include "mem.h"#include "registry.h"#include "section_file.h"#include "shared.h"#include "support.h"#include "registry_ini.h"#include "specvec.h"Go to the source code of this file.
Data Structures | |
| struct | entry |
Macros | |
| #define | MAX_LEN_SECPATH 1024 |
| #define | MAX_LINE_LEN 72 |
| #define | SAVE_TABLES TRUE |
| #define | SPECVEC_TAG astring |
| #define MAX_LEN_SECPATH 1024 |
Definition at line 176 of file registry_ini.c.
| #define MAX_LINE_LEN 72 |
Definition at line 181 of file registry_ini.c.
Definition at line 184 of file registry_ini.c.
Definition at line 186 of file registry_ini.c.
Simplification of fileinfoname().
Definition at line 238 of file registry_ini.c.
Referenced by secfile_from_stream(), and secfile_load_section().
Gets an boolean value. Returns TRUE on success. On old saved files, 0 and 1 can also be considered as bool.
Definition at line 3726 of file registry_ini.c.
Referenced by lookup_req_list(), secfile_lookup_bool(), secfile_lookup_bool_default(), and settable_options_load().
Sets an boolean value. Returns TRUE on success.
Definition at line 3755 of file registry_ini.c.
Referenced by secfile_insert_bool_full().
Returns the comment associated to this entry.
Definition at line 3685 of file registry_ini.c.
Referenced by secfile_save().
Entry structure destructor.
Definition at line 3552 of file registry_ini.c.
Referenced by secfile_entry_delete(), secfile_insert_bitwise_enum_full(), secfile_insert_bool_full(), secfile_insert_enum_data_full(), secfile_insert_float_full(), secfile_insert_int_full(), secfile_insert_plain_enum_full(), secfile_insert_str_full(), and secfile_section_new().
Gets an floating value. Returns TRUE on success.
Definition at line 3768 of file registry_ini.c.
Referenced by secfile_lookup_float(), and secfile_lookup_float_default().
Sets an floating value. Returns TRUE on success.
Definition at line 3784 of file registry_ini.c.
Referenced by secfile_insert_float_full().
|
static |
Creates a new entry from the token.
Definition at line 3988 of file registry_ini.c.
Referenced by secfile_from_input_file().
Gets an integer value. Returns TRUE on success.
Definition at line 3798 of file registry_ini.c.
Referenced by load_action_range_max(), lookup_req_list(), secfile_lookup_int(), secfile_lookup_int_def_min_max(), secfile_lookup_int_default(), and settable_options_load().
Sets an integer value. Returns TRUE on success.
Definition at line 3814 of file registry_ini.c.
Referenced by secfile_insert_int_full().
Returns the name of this entry.
Definition at line 3629 of file registry_ini.c.
Referenced by compat_load_020400(), entry_path(), options_dialogs_load(), secfile_check_unused(), secfile_lookup_bitwise_enum_full(), secfile_lookup_enum_data(), secfile_lookup_enum_default_data(), secfile_lookup_plain_enum_full(), secfile_save(), section_entry_by_name(), and settable_options_load().
Returns a new entry.
Definition at line 3401 of file registry_ini.c.
Referenced by section_entry_bool_new(), section_entry_comment_new(), section_entry_filereference_new(), section_entry_float_new(), section_entry_int_new(), and section_entry_str_new().
Build the entry path. Returns like snprintf().
Definition at line 3619 of file registry_ini.c.
Referenced by secfile_hash_delete(), and secfile_hash_insert().
Returns the parent section of this entry.
Definition at line 3603 of file registry_ini.c.
Referenced by entry_path(), secfile_hash_insert(), secfile_lookup_bitwise_enum_full(), secfile_lookup_enum_data(), secfile_lookup_enum_default_data(), secfile_lookup_int_def_min_max(), secfile_lookup_plain_enum_full(), and section_entry_lookup().
Sets a comment for the entry. Pass nullptr to remove the current one.
Definition at line 3693 of file registry_ini.c.
Referenced by secfile_insert_bitwise_enum_full(), secfile_insert_bool_full(), secfile_insert_enum_data_full(), secfile_insert_float_full(), secfile_insert_int_full(), secfile_insert_plain_enum_full(), and secfile_insert_str_full().
Sets the name of the entry. Returns TRUE on success.
Definition at line 3637 of file registry_ini.c.
Referenced by compat_load_020400().
Returns if the string would be escaped.
Definition at line 3865 of file registry_ini.c.
Gets an string value. Returns TRUE on success.
Definition at line 3827 of file registry_ini.c.
Referenced by load_action_range_max(), lookup_req_list(), secfile_lookup_bitwise_enum_default_full(), secfile_lookup_bitwise_enum_full(), secfile_lookup_enum_data(), secfile_lookup_enum_default_data(), secfile_lookup_plain_enum_default_full(), secfile_lookup_plain_enum_full(), secfile_lookup_str(), secfile_lookup_str_default(), and settable_options_load().
Utility routine used in secfile_save() when writing out strings. Returns the length the string will be when written out.
Assumes the struct entry is type ENTRY_STR.
Definition at line 823 of file registry_ini.c.
Referenced by format_entry_string(), and secfile_save().
Sets an string value. Returns TRUE on success.
Definition at line 3843 of file registry_ini.c.
Referenced by secfile_insert_bitwise_enum_full(), secfile_insert_enum_data_full(), secfile_insert_plain_enum_full(), and secfile_insert_str_full().
Sets if the string would be escaped. Returns TRUE on success.
Definition at line 3877 of file registry_ini.c.
Sets if the string should get gettext marking. Returns TRUE on success.
Definition at line 3891 of file registry_ini.c.
Referenced by save_actions_ruleset(), save_cities_ruleset(), save_game_ruleset(), save_governments_ruleset(), save_name_translation(), save_techs_ruleset(), save_terrain_ruleset(), save_units_ruleset(), secfile_insert_str_vec_full(), and sg_save_scenario().
Push an entry into a file stream.
Definition at line 3930 of file registry_ini.c.
Referenced by secfile_save().
| enum entry_type entry_type_get | ( | const struct entry * | pentry | ) |
Returns the type of this entry or ENTRY_ILLEGAL or error.
Definition at line 3611 of file registry_ini.c.
Referenced by load_action_range_max(), lookup_req_list(), secfile_insert_bitwise_enum_full(), secfile_insert_bool_full(), secfile_insert_enum_data_full(), secfile_insert_float_full(), secfile_insert_int_full(), secfile_insert_plain_enum_full(), secfile_insert_str_full(), and settable_options_load().
Increase the used count.
Definition at line 3717 of file registry_ini.c.
Referenced by secfile_entry_by_path(), secfile_hash_insert(), and section_entry_by_name().
Returns TRUE if this entry has been used.
Definition at line 3709 of file registry_ini.c.
Referenced by secfile_check_unused().
Utility routine used by format_entry_string()
starting at a location in a string, find the offsets of the next 2 delims, and return those offset values. Return value -1 means not found.
Definition at line 653 of file registry_ini.c.
Referenced by word_wrap_internal().
Utility routine used in secfile_save() when writing ENTRY_STR's.
When reading a secfile, strings may have "\n\" followed by a newline to
help human readability, and that gets lost.
This re-inserts the "
" so the output will look formatted the same.
Also tries to keep output lines shorter than MAX_LINE_LEN + 6 chars, inserting new lines as needed. May not succeed with pathological input that contains super long tokens with no delimiters.
Assumes the struct entry is type ENTRY_STR.
Definition at line 759 of file registry_ini.c.
Referenced by secfile_save().
Utility routine used by format_entry_string()
returns whether it's OK to insert a line break before the passed in char, most non-alphanumeric are OK, test high bit to rule out UTF-8.
Definition at line 637 of file registry_ini.c.
Referenced by find_next_delims().
Returns TRUE iff the character is legal in a table entry name.
Definition at line 626 of file registry_ini.c.
Referenced by secfile_save().
Ensure name is correct to use it as section or entry name.
Definition at line 246 of file registry_ini.c.
Referenced by entry_new(), entry_set_name(), secfile_section_new(), and section_set_name().
Copies a string and convert the following characters:
Definition at line 3911 of file registry_ini.c.
Referenced by entry_to_file().
| void secfile_check_unused | ( | const struct section_file * | secfile | ) |
Print log messages for any entries in the file which have not been looked up – ie, unused or unrecognised entries. To mark an entry as used without actually doing anything with it, you could do something like: section_file_lookup(&file, "foo.bar"); / * unused * /
Definition at line 1160 of file registry_ini.c.
Referenced by boot_help_texts(), comments_load(), load_command(), load_ruleset_buildings(), load_ruleset_cities(), load_ruleset_effects(), load_ruleset_governments(), load_ruleset_nations(), load_ruleset_techs(), load_ruleset_terrain(), load_ruleset_units(), load_rulesetdir(), scan_specfile(), scan_specfile(), theme_read_toplevel(), and tileset_read_toplevel().
Returns the entry by the name or nullptr if not matched.
Definition at line 2051 of file registry_ini.c.
Referenced by load_action_blocked_by_list(), load_ruleset_actions(), load_ruleset_nations(), lookup_bv_actions(), secfile_entry_delete(), secfile_entry_lookup(), secfile_lookup_bitwise_enum_default_full(), secfile_lookup_bitwise_enum_full(), secfile_lookup_bool(), secfile_lookup_bool_default(), secfile_lookup_enum_data(), secfile_lookup_enum_default_data(), secfile_lookup_float(), secfile_lookup_float_default(), secfile_lookup_int(), secfile_lookup_int_def_min_max(), secfile_lookup_int_default(), secfile_lookup_plain_enum_default_full(), secfile_lookup_plain_enum_full(), secfile_lookup_str(), secfile_lookup_str_default(), and section_entry_lookup().
| bool secfile_entry_delete | ( | struct section_file * | secfile, |
| const char * | path, | ||
| ... | |||
| ) |
Delete an entry.
Definition at line 2098 of file registry_ini.c.
Referenced by compat_load_020400(), and compat_load_020600().
Returns the entry at "fullpath" or nullptr if not matched.
Definition at line 2124 of file registry_ini.c.
Referenced by load_action_auto_actions(), load_action_auto_uflag_block(), load_action_range_max(), load_ruleset_governments(), load_ruleset_nations(), lookup_req_list(), scan_specfile(), scan_specfile(), secfile_lookup_bitwise_enum_vec_full(), secfile_lookup_bool_vec(), secfile_lookup_enum_vec_data(), secfile_lookup_int_vec(), secfile_lookup_plain_enum_vec_full(), and secfile_lookup_str_vec().
|
static |
Base function to load a section file. Note it closes the inputfile.
Definition at line 309 of file registry_ini.c.
Referenced by secfile_from_stream(), and secfile_load_section().
| struct section_file * secfile_from_stream | ( | fz_FILE * | stream, |
| bool | allow_duplicates | ||
| ) |
Create a section file from a stream. Returns nullptr on error.
Definition at line 616 of file registry_ini.c.
Referenced by netfile_get_section_file().
Delete an entry from the hash table. Returns TRUE on success.
Definition at line 291 of file registry_ini.c.
Referenced by entry_destroy(), entry_set_name(), and section_set_name().
Insert an entry into the hash table. Returns TRUE on success.
Definition at line 262 of file registry_ini.c.
Referenced by entry_new(), entry_set_name(), secfile_from_input_file(), and section_set_name().
|
static |
Separates the section and entry names. Create the section if missing.
Definition at line 1210 of file registry_ini.c.
Referenced by secfile_insert_bitwise_enum_full(), secfile_insert_bool_full(), secfile_insert_comment(), secfile_insert_enum_data_full(), secfile_insert_filereference(), secfile_insert_float_full(), secfile_insert_int_full(), secfile_insert_plain_enum_full(), and secfile_insert_str_full().
| struct entry * secfile_insert_bitwise_enum_full | ( | struct section_file * | secfile, |
| int | bitwise_val, | ||
| secfile_enum_name_fn_t | name_fn, | ||
| secfile_enum_iter_fn_t | begin_fn, | ||
| secfile_enum_iter_fn_t | end_fn, | ||
| secfile_enum_next_fn_t | next_fn, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert a bitwise value entry.
Definition at line 1797 of file registry_ini.c.
Referenced by secfile_insert_bitwise_enum_vec_full().
| size_t secfile_insert_bitwise_enum_vec_full | ( | struct section_file * | secfile, |
| const int * | bitwise_vals, | ||
| size_t | dim, | ||
| secfile_enum_name_fn_t | name_fn, | ||
| secfile_enum_iter_fn_t | begin_fn, | ||
| secfile_enum_iter_fn_t | end_fn, | ||
| secfile_enum_next_fn_t | next_fn, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert 'dim' string entries at 'path,0', 'path,1' etc. Returns the number of entries inserted or replaced.
Definition at line 1876 of file registry_ini.c.
| struct entry * secfile_insert_bool_full | ( | struct section_file * | secfile, |
| bool | value, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert a boolean entry.
Definition at line 1241 of file registry_ini.c.
Referenced by secfile_insert_bool_vec_full().
| size_t secfile_insert_bool_vec_full | ( | struct section_file * | secfile, |
| const bool * | values, | ||
| size_t | dim, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert 'dim' boolean entries at 'path,0', 'path,1' etc. Returns the number of entries inserted or replaced.
Definition at line 1292 of file registry_ini.c.
| struct entry * secfile_insert_comment | ( | struct section_file * | secfile, |
| const char * | str, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert a comment entry.
Definition at line 1575 of file registry_ini.c.
Referenced by comment_entry_write().
| struct entry * secfile_insert_enum_data_full | ( | struct section_file * | secfile, |
| int | value, | ||
| bool | bitwise, | ||
| secfile_enum_name_data_fn_t | name_fn, | ||
| secfile_data_t | data, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert an enumerator value entry that we only have a name accessor function.
Definition at line 1928 of file registry_ini.c.
Referenced by secfile_insert_enum_vec_data_full().
| size_t secfile_insert_enum_vec_data_full | ( | struct section_file * | secfile, |
| const int * | values, | ||
| size_t | dim, | ||
| bool | bitwise, | ||
| secfile_enum_name_data_fn_t | name_fn, | ||
| secfile_data_t | data, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert 'dim' entries at 'path,0', 'path,1' etc. Returns the number of entries inserted or replaced.
Definition at line 2007 of file registry_ini.c.
| struct entry * secfile_insert_filereference | ( | struct section_file * | secfile, |
| const char * | filename, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert a read-from-a-file string entry
Definition at line 1662 of file registry_ini.c.
Referenced by save_game_ruleset().
| struct entry * secfile_insert_float_full | ( | struct section_file * | secfile, |
| float | value, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert a floating entry.
Definition at line 1415 of file registry_ini.c.
Insert a include entry.
Definition at line 1465 of file registry_ini.c.
Referenced by save_nations_ruleset().
| struct entry * secfile_insert_int_full | ( | struct section_file * | secfile, |
| int | value, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert a integer entry.
Definition at line 1328 of file registry_ini.c.
Referenced by secfile_insert_int_vec_full().
| size_t secfile_insert_int_vec_full | ( | struct section_file * | secfile, |
| const int * | values, | ||
| size_t | dim, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert 'dim' integer entries at 'path,0', 'path,1' etc. Returns the number of entries inserted or replaced.
Definition at line 1379 of file registry_ini.c.
| struct section * secfile_insert_long_comment | ( | struct section_file * | secfile, |
| const char * | comment | ||
| ) |
Insert a long comment section.
Definition at line 1489 of file registry_ini.c.
Referenced by comment_write().
| struct entry * secfile_insert_plain_enum_full | ( | struct section_file * | secfile, |
| int | enumerator, | ||
| secfile_enum_name_fn_t | name_fn, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert a enumerator entry.
Definition at line 1698 of file registry_ini.c.
Referenced by secfile_insert_plain_enum_vec_full().
| size_t secfile_insert_plain_enum_vec_full | ( | struct section_file * | secfile, |
| const int * | enumurators, | ||
| size_t | dim, | ||
| secfile_enum_name_fn_t | name_fn, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert 'dim' string entries at 'path,0', 'path,1' etc. Returns the number of entries inserted or replaced.
Definition at line 1755 of file registry_ini.c.
| struct entry * secfile_insert_str_full | ( | struct section_file * | secfile, |
| const char * | str, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| bool | no_escape, | ||
| enum entry_special_type | stype, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert a string entry.
Definition at line 1513 of file registry_ini.c.
Referenced by secfile_insert_include(), secfile_insert_long_comment(), and secfile_insert_str_vec_full().
| size_t secfile_insert_str_vec_full | ( | struct section_file * | secfile, |
| const char *const * | strings, | ||
| size_t | dim, | ||
| const char * | comment, | ||
| bool | allow_replace, | ||
| bool | no_escape, | ||
| bool | gt_marking, | ||
| const char * | path, | ||
| ... | |||
| ) |
Insert 'dim' string entries at 'path,0', 'path,1' etc. Returns the number of entries inserted or replaced.
Definition at line 1612 of file registry_ini.c.
| struct section_file * secfile_load_section | ( | const char * | filename, |
| const char * | section, | ||
| bool | allow_duplicates | ||
| ) |
Create a section file from a file, read only one particular section. Returns nullptr on error.
Definition at line 602 of file registry_ini.c.
Referenced by secfile_load(), show_scenarios(), fc_client::slot_selection_changed(), update_scenario_page(), and fc_client::update_scenarios_page().
| int secfile_lookup_bitwise_enum_default_full | ( | const struct section_file * | secfile, |
| int | defval, | ||
| secfile_enum_is_valid_fn_t | is_valid_fn, | ||
| secfile_enum_by_name_fn_t | by_name_fn, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup an enumerator value in the secfile. Returns 'defval' on error.
Definition at line 2761 of file registry_ini.c.
| bool secfile_lookup_bitwise_enum_full | ( | const struct section_file * | secfile, |
| int * | penumerator, | ||
| secfile_enum_is_valid_fn_t | is_valid_fn, | ||
| secfile_enum_by_name_fn_t | by_name_fn, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a bitwise enumerator value in the secfile. Returns FALSE on error.
Definition at line 2696 of file registry_ini.c.
Referenced by secfile_lookup_bitwise_enum_vec_full().
| int * secfile_lookup_bitwise_enum_vec_full | ( | const struct section_file * | secfile, |
| size_t * | dim, | ||
| secfile_enum_is_valid_fn_t | is_valid_fn, | ||
| secfile_enum_by_name_fn_t | by_name_fn, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a enumerator vector in the secfile. Returns nullptr on error. This vector is not owned by the registry module, and should be freed by the user.
Definition at line 2825 of file registry_ini.c.
| bool secfile_lookup_bool | ( | const struct section_file * | secfile, |
| bool * | bval, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a boolean value in the secfile. Returns TRUE on success.
Definition at line 2142 of file registry_ini.c.
Referenced by client_option_load(), compat_load_020600(), compat_load_030000(), compat_load_030200(), options_dialogs_load(), secfile_lookup_bool_vec(), setting_ruleset_one(), settings_game_load(), sg_load_player_city(), sg_load_player_main(), sg_load_player_main(), sg_load_player_unit(), sg_load_researches(), sg_load_scenario(), and tileset_read_toplevel().
| bool secfile_lookup_bool_default | ( | const struct section_file * | secfile, |
| bool | def, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a boolean value in the secfile. On failure, use the default value.
Definition at line 2168 of file registry_ini.c.
Referenced by compat_load_020400(), compat_load_020500(), compat_load_020600(), compat_load_030000(), compat_load_030100(), compat_load_030200(), dai_city_load(), global_worklist_load(), insert_server_side_agent(), load_action_actor_consuming_always(), load_ruleset_actions(), load_ruleset_cities(), load_ruleset_game(), load_ruleset_nations(), load_ruleset_terrain(), lookup_cbonus_list(), modpack_has_ruleset(), modpack_has_tileset(), setting_ruleset_one(), settings_game_load(), sg_load_game(), sg_load_game(), sg_load_map(), sg_load_map(), sg_load_map_known(), sg_load_map_known(), sg_load_map_startpos(), sg_load_map_startpos(), sg_load_player_city(), sg_load_player_city(), sg_load_player_main(), sg_load_player_main(), sg_load_player_unit(), sg_load_player_unit(), sg_load_player_vision(), sg_load_player_vision(), sg_load_player_vision_city(), sg_load_player_vision_city(), sg_load_players(), sg_load_players(), sg_load_players_basic(), sg_load_players_basic(), sg_load_random(), sg_load_random(), sg_load_savefile(), sg_load_savefile(), sg_load_scenario(), sg_load_scenario(), sg_load_treaties(), sg_load_treaties(), show_scenarios(), fc_client::slot_selection_changed(), tileset_read_toplevel(), update_scenario_page(), and fc_client::update_scenarios_page().
| bool * secfile_lookup_bool_vec | ( | const struct section_file * | secfile, |
| size_t * | dim, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a boolean vector in the secfile. Returns nullptr on error. This vector is not owned by the registry module, and should be free by the user.
Definition at line 2198 of file registry_ini.c.
| bool secfile_lookup_enum_data | ( | const struct section_file * | secfile, |
| int * | pvalue, | ||
| bool | bitwise, | ||
| secfile_enum_name_data_fn_t | name_fn, | ||
| secfile_data_t | data, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a value saved as string in the secfile. Returns FALSE on error.
Definition at line 2880 of file registry_ini.c.
Referenced by client_option_load(), compat_load_020500(), compat_load_030200(), secfile_lookup_enum_vec_data(), setting_ruleset_one(), and settings_game_load().
| int secfile_lookup_enum_default_data | ( | const struct section_file * | secfile, |
| int | defval, | ||
| bool | bitwise, | ||
| secfile_enum_name_data_fn_t | name_fn, | ||
| secfile_data_t | data, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a value saved as string in the secfile. Returns 'defval' on error.
Definition at line 2962 of file registry_ini.c.
Referenced by settings_game_load().
| int * secfile_lookup_enum_vec_data | ( | const struct section_file * | secfile, |
| size_t * | dim, | ||
| bool | bitwise, | ||
| secfile_enum_name_data_fn_t | name_fn, | ||
| secfile_data_t | data, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a vector in the secfile. Returns nullptr on error. This vector is not owned by the registry module, and should be freed by the user.
Definition at line 3045 of file registry_ini.c.
| bool secfile_lookup_float | ( | const struct section_file * | secfile, |
| float * | fval, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a floating point value in the secfile. Returns TRUE on success.
Definition at line 2393 of file registry_ini.c.
| float secfile_lookup_float_default | ( | const struct section_file * | secfile, |
| float | def, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a floating point value in the secfile. On failure, use the default value.
Definition at line 2418 of file registry_ini.c.
Referenced by sg_load_game(), and sg_load_game().
Lookup a integer value in the secfile. Returns TRUE on success.
Definition at line 2244 of file registry_ini.c.
Referenced by client_option_load(), compat_load_020400(), compat_load_020500(), compat_load_020600(), compat_load_030100(), compat_load_030200(), load_ruleset_buildings(), load_ruleset_game(), load_ruleset_governments(), load_ruleset_nations(), load_ruleset_terrain(), load_ruleset_units(), lookup_cbonus_list(), lookup_time(), message_options_load(), rgbcolor_load(), rscompat_check_capabilities(), scan_specfile(), scan_specfile(), secfile_lookup_int_default_min_max(), secfile_lookup_int_vec(), setting_ruleset_one(), settings_game_load(), sg_load_game(), sg_load_game(), sg_load_map_startpos(), sg_load_map_startpos(), sg_load_player_attributes(), sg_load_player_attributes(), sg_load_player_cities(), sg_load_player_cities(), sg_load_player_city(), sg_load_player_city(), sg_load_player_main(), sg_load_player_main(), sg_load_player_unit(), sg_load_player_unit(), sg_load_player_units(), sg_load_player_units(), sg_load_player_units_transport(), sg_load_player_units_transport(), sg_load_player_vision_city(), sg_load_player_vision_city(), sg_load_players_basic(), sg_load_players_basic(), sg_load_random(), sg_load_random(), sg_load_researches(), sg_load_researches(), and tileset_read_toplevel().
| int secfile_lookup_int_def_min_max | ( | const struct section_file * | secfile, |
| int | defval, | ||
| int | minval, | ||
| int | maxval, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a integer value in the secfile. The value will be arranged to match the interval [minval, maxval]. On failure, use the default value.
Definition at line 2300 of file registry_ini.c.
Referenced by load_ruleset_game().
| int secfile_lookup_int_default | ( | const struct section_file * | secfile, |
| int | def, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a integer value in the secfile. On failure, use the default value.
Definition at line 2270 of file registry_ini.c.
Referenced by compat_load_020400(), compat_load_020600(), compat_load_030000(), compat_load_030100(), compat_load_030200(), compat_load_030300(), dai_city_load(), dai_player_load_relations(), dai_unit_load(), event_cache_load(), global_worklist_load(), increase_secfile_turn_int(), insert_server_side_agent(), load_action_range(), load_ruleset_cities(), load_ruleset_effects(), load_ruleset_game(), load_ruleset_governments(), load_ruleset_techs(), load_ruleset_terrain(), load_ruleset_units(), message_options_load(), ruleset_load_traits(), scan_specfile(), scan_specfile(), settings_game_load(), sg_load_compat(), sg_load_counters(), sg_load_game(), sg_load_game(), sg_load_history(), sg_load_history(), sg_load_map(), sg_load_map(), sg_load_map_startpos(), sg_load_map_startpos(), sg_load_mapimg(), sg_load_mapimg(), sg_load_player_attributes(), sg_load_player_attributes(), sg_load_player_cities(), sg_load_player_cities(), sg_load_player_city(), sg_load_player_city(), sg_load_player_city_citizens(), sg_load_player_city_citizens(), sg_load_player_main(), sg_load_player_main(), sg_load_player_unit(), sg_load_player_unit(), sg_load_player_units(), sg_load_player_units_transport(), sg_load_player_units_transport(), sg_load_player_vision(), sg_load_player_vision(), sg_load_player_vision_city(), sg_load_player_vision_city(), sg_load_players_basic(), sg_load_players_basic(), sg_load_researches(), sg_load_researches(), sg_load_ruledata(), sg_load_ruledata(), sg_load_ruleset(), sg_load_savefile(), sg_load_savefile(), sg_load_scenario(), sg_load_treaties(), sg_load_treaties(), fc_client::slot_selection_changed(), theme_color_system_read(), theme_read_toplevel(), tileset_read_toplevel(), update_scenario_page(), fc_client::update_scenarios_page(), worklist_load(), and worklist_load().
| int * secfile_lookup_int_vec | ( | const struct section_file * | secfile, |
| size_t * | dim, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a integer vector in the secfile. Returns nullptr on error. This vector is not owned by the registry module, and should be freed by the user.
Definition at line 2347 of file registry_ini.c.
Referenced by load_ruleset_game(), load_ruleset_terrain(), load_ruleset_veteran(), sg_load_counters(), and sg_load_researches().
| int secfile_lookup_plain_enum_default_full | ( | const struct section_file * | secfile, |
| int | defval, | ||
| secfile_enum_is_valid_fn_t | is_valid_fn, | ||
| secfile_enum_by_name_fn_t | by_name_fn, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup an enumerator value in the secfile. Returns 'defval' on error.
Definition at line 2599 of file registry_ini.c.
| bool secfile_lookup_plain_enum_full | ( | const struct section_file * | secfile, |
| int * | penumerator, | ||
| secfile_enum_is_valid_fn_t | is_valid_fn, | ||
| secfile_enum_by_name_fn_t | by_name_fn, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup an enumerator value in the secfile. Returns FALSE on error.
Definition at line 2556 of file registry_ini.c.
Referenced by secfile_lookup_plain_enum_vec_full().
| int * secfile_lookup_plain_enum_vec_full | ( | const struct section_file * | secfile, |
| size_t * | dim, | ||
| secfile_enum_is_valid_fn_t | is_valid_fn, | ||
| secfile_enum_by_name_fn_t | by_name_fn, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a enumerator vector in the secfile. Returns nullptr on error. This vector is not owned by the registry module, and should be freed by the user.
Definition at line 2642 of file registry_ini.c.
Lookup a string value in the secfile. Returns nullptr on error.
Definition at line 2446 of file registry_ini.c.
Referenced by audio_play_tag(), boot_help_texts(), check_audiofile_capstr(), check_themespec_capabilities(), check_tilespec_capabilities(), client_option_load(), compat_load_020400(), compat_load_020500(), compat_load_020600(), compat_load_030000(), compat_load_030100(), compat_load_030200(), download_modpack_list(), download_modpack_recursive(), ensure_big_sprite(), event_cache_load(), handle_single_want_hack_req(), load_install_info_list(), load_nation_names(), load_ruleset_actions(), load_ruleset_buildings(), load_ruleset_effects(), load_ruleset_game(), load_ruleset_governments(), load_ruleset_nations(), load_ruleset_styles(), load_ruleset_terrain(), load_ruleset_units(), load_specialist(), load_terrain_names(), lookup_cbonus_list(), lookup_req_list(), lookup_string(), lookup_terrain(), message_options_load(), modpack_check_capabilities(), musicspec_load(), rscompat_check_capabilities(), ruleset_load_names(), savegame_load(), scan_specfile(), scan_specfile(), secfile_lookup_str_vec(), setting_ruleset_one(), settings_game_load(), sg_load_history(), sg_load_history(), sg_load_map_altitude(), sg_load_map_owner(), sg_load_map_owner(), sg_load_map_startpos(), sg_load_map_startpos(), sg_load_map_tiles(), sg_load_map_tiles(), sg_load_map_worked(), sg_load_map_worked(), sg_load_mapimg(), sg_load_mapimg(), sg_load_player_attributes(), sg_load_player_attributes(), sg_load_player_cities(), sg_load_player_cities(), sg_load_player_city(), sg_load_player_city(), sg_load_player_main(), sg_load_player_main(), sg_load_player_unit(), sg_load_player_units(), sg_load_player_units(), sg_load_player_vision(), sg_load_player_vision(), sg_load_player_vision_city(), sg_load_player_vision_city(), sg_load_players_basic(), sg_load_players_basic(), sg_load_random(), sg_load_random(), sg_load_researches(), sg_load_researches(), sg_load_savefile(), sg_load_savefile(), sg_load_treaties(), sg_load_treaties(), technology_load(), technology_load(), theme_background_system_read(), theme_ensure_big_sprite(), theme_read_toplevel(), tileset_read_toplevel(), worklist_load(), and worklist_load().
| const char * secfile_lookup_str_default | ( | const struct section_file * | secfile, |
| const char * | def, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a string value in the secfile. If there's no such key, return def. Currently returns def also on failure.
Definition at line 2476 of file registry_ini.c.
Referenced by api_luadata_get_str(), compat_load_020400(), compat_load_020600(), compat_load_030000(), compat_load_030100(), compat_load_030200(), download_modpack_list(), download_modpack_recursive(), global_worklist_load(), load_building_names(), load_government_names(), load_install_info_list(), load_nation_names(), load_ruleset_actions(), load_ruleset_buildings(), load_ruleset_effects(), load_ruleset_game(), load_ruleset_governments(), load_ruleset_nations(), load_ruleset_styles(), load_ruleset_techs(), load_ruleset_terrain(), load_ruleset_units(), load_specialist(), load_tech_names(), load_terrain_names(), load_unit_names(), lookup_cbonus_list(), lookup_government(), lookup_req_list(), lookup_tech(), lookup_unit_type(), luascript_vars_load(), modpack_cache_tileset(), modpack_has_ruleset(), modpack_has_tileset(), modpack_rulesetdir(), modpack_serv_file(), modpack_tilespec(), musicspec_load(), script_client_code_load(), script_server_code_load(), settings_game_load(), settings_ruleset(), sg_load_game(), sg_load_game(), sg_load_map_owner(), sg_load_map_tiles(), sg_load_map_tiles(), sg_load_player_city(), sg_load_player_city(), sg_load_player_main(), sg_load_player_main(), sg_load_player_unit(), sg_load_player_unit(), sg_load_player_vision_city(), sg_load_player_vision_city(), sg_load_ruledata(), sg_load_ruledata(), sg_load_ruleset(), sg_load_savefile(), sg_load_savefile(), sg_load_scenario(), sg_load_scenario(), sg_load_treaties(), sg_load_treaties(), fc_client::slot_selection_changed(), theme_read_toplevel(), tileset_read_toplevel(), update_scenario_page(), fc_client::update_scenarios_page(), worklist_load(), and worklist_load().
| const char ** secfile_lookup_str_vec | ( | const struct section_file * | secfile, |
| size_t * | dim, | ||
| const char * | path, | ||
| ... | |||
| ) |
Lookup a string vector in the secfile. Returns nullptr on error. This vector is not owned by the registry module, and should be freed by the user, but the string pointers stored inside the vector shouldn't be freed.
Definition at line 2510 of file registry_ini.c.
Referenced by boot_help_texts(), compat_load_030100(), compat_load_030200(), compat_load_030300(), load_city_name_list(), load_ruleset_buildings(), load_ruleset_game(), load_ruleset_governments(), load_ruleset_nations(), load_ruleset_techs(), load_ruleset_terrain(), load_ruleset_units(), load_ruleset_veteran(), lookup_building_list(), lookup_strvec(), lookup_tech_list(), lookup_unit_list(), scan_specfile(), scan_specfile(), sg_load_counters(), sg_load_player_main(), sg_load_player_main(), sg_load_savefile(), sg_load_savefile(), theme_read_toplevel(), and tileset_read_toplevel().
| const char * secfile_name | ( | const struct section_file * | secfile | ) |
Return the filename the section file was loaded as, or "(anonymous)" if this sectionfile was created rather than loaded from file. The memory is managed internally, and should not be altered, nor used after secfile_destroy() called for the section file.
Definition at line 1196 of file registry_ini.c.
Referenced by load_action_names(), load_building_names(), load_city_name_list(), load_game_names(), load_government_names(), load_nation_names(), load_ruleset_actions(), load_ruleset_buildings(), load_ruleset_cities(), load_ruleset_effects(), load_ruleset_game(), load_ruleset_governments(), load_ruleset_nations(), load_ruleset_techs(), load_ruleset_terrain(), load_ruleset_units(), load_ruleset_veteran(), load_specialist(), load_style_names(), load_tech_names(), load_terrain_names(), load_unit_names(), lookup_cbonus_list(), lookup_req_list(), lookup_terrain(), message_options_load(), ruleset_load_names(), secfile_log(), and settings_ruleset().
| bool secfile_save | ( | const struct section_file * | secfile, |
| const char * | filename, | ||
| int | compression_level, | ||
| enum fz_method | compression_method, | ||
| bool | do_formatting | ||
| ) |
Save the previously filled in section_file to disk.
There is now limited ability to save in the new tabular format (to give smaller savefiles). The start of a table is detected by an entry with name of the form: (alphabetical_component)(zero)(period)(alphanumeric_component) Eg: u0.id, or c0.id, in the freeciv savefile. The alphabetical component is taken as the "name" of the table, and the component after the period as the first column name. This should be followed by the other column values for u0, and then subsequent u1, u2, etc, in strict order with no omissions, and with all of the columns for all uN in the same order as for u0.
If compression_level is non-zero, then compress using zlib. (Should only supply non-zero compression_level if already know that FREECIV_HAVE_LIBZ.) Below simply specifies FZ_ZLIB method, since fz_fromFile() automatically changes to FZ_PLAIN method when level == 0.
Definition at line 856 of file registry_ini.c.
Referenced by save_luadata(), save_ruleset_file(), save_thread_run(), and send_client_wants_hack().
Returns the first section matching the name.
Definition at line 3095 of file registry_ini.c.
Referenced by compat_load_020400(), options_dialogs_load(), secfile_entry_by_path(), secfile_from_input_file(), secfile_insert_base(), secfile_insert_include(), secfile_insert_long_comment(), secfile_section_lookup(), secfile_section_new(), section_set_name(), settable_options_load(), and settings_ruleset().
| struct section * secfile_section_lookup | ( | const struct section_file * | secfile, |
| const char * | path, | ||
| ... | |||
| ) |
Find a section by path.
Definition at line 3112 of file registry_ini.c.
Referenced by compat_load_020400(), compat_load_020600(), compat_load_030000(), compat_load_030100(), compat_load_030200(), compat_load_030300(), insert_server_side_agent(), sg_load_players_basic(), sg_load_players_basic(), and sg_load_scenario().
Create a new section in the secfile.
Definition at line 3197 of file registry_ini.c.
Referenced by secfile_from_input_file(), secfile_insert_base(), secfile_insert_include(), and secfile_insert_long_comment().
Checks if there's any sections with the given prefix in the secfile.
Definition at line 3172 of file registry_ini.c.
| const struct section_list * secfile_sections | ( | const struct section_file * | secfile | ) |
Returns the list of sections. This list is owned by the registry module and shouldn't be modified and destroyed.
Definition at line 3132 of file registry_ini.c.
Referenced by secfile_check_unused().
| struct section_list * secfile_sections_by_name_prefix | ( | const struct section_file * | secfile, |
| const char * | prefix | ||
| ) |
Returns the list of sections which match the name prefix. Returns nullptr if no section was found. This list is not owned by the registry module and the user must destroy it when they finished working with it.
Definition at line 3143 of file registry_ini.c.
Referenced by boot_help_texts(), download_modpack_recursive(), load_building_names(), load_game_names(), load_government_names(), load_nation_names(), load_ruleset_actions(), load_ruleset_buildings(), load_ruleset_cities(), load_ruleset_effects(), load_ruleset_game(), load_ruleset_governments(), load_ruleset_nations(), load_ruleset_styles(), load_ruleset_techs(), load_ruleset_units(), load_style_names(), load_tech_names(), load_terrain_names(), load_unit_names(), scan_specfile(), scan_specfile(), and tileset_read_toplevel().
Remove all entries.
Definition at line 3268 of file registry_ini.c.
Referenced by section_destroy().
Remove this section from the secfile.
Definition at line 3241 of file registry_ini.c.
Referenced by secfile_new().
Returns a list containing all the entries. This list is owned by the secfile, so don't modify or destroy it.
Definition at line 3345 of file registry_ini.c.
Referenced by compat_load_020400(), options_dialogs_load(), secfile_check_unused(), secfile_from_input_file(), secfile_save(), and settable_options_load().
Returns a new entry of type ENTRY_BOOL.
Definition at line 3467 of file registry_ini.c.
Referenced by entry_from_token(), and secfile_insert_bool_full().
Returns the first entry matching the name.
Definition at line 3353 of file registry_ini.c.
Referenced by entry_new(), entry_set_name(), secfile_entry_by_path(), secfile_insert_bitwise_enum_full(), secfile_insert_bool_full(), secfile_insert_enum_data_full(), secfile_insert_float_full(), secfile_insert_int_full(), secfile_insert_plain_enum_full(), secfile_insert_str_full(), and section_entry_lookup().
|
static |
Returns a new entry of type ENTRY_LONG_COMMENT.
Definition at line 3536 of file registry_ini.c.
Referenced by secfile_insert_comment().
|
static |
Returns a new entry of type ENTRY_FILEREFERENCE.
Definition at line 3519 of file registry_ini.c.
Referenced by secfile_insert_filereference().
| struct entry * section_entry_float_new | ( | struct section * | psection, |
| const char * | name, | ||
| float | value | ||
| ) |
Returns a new entry of type ENTRY_FLOAT.
Definition at line 3483 of file registry_ini.c.
Referenced by entry_from_token(), and secfile_insert_float_full().
Returns a new entry of type ENTRY_INT.
Definition at line 3451 of file registry_ini.c.
Referenced by entry_from_token(), and secfile_insert_int_full().
Returns the entry matching the path.
Definition at line 3371 of file registry_ini.c.
| struct entry * section_entry_str_new | ( | struct section * | psection, |
| const char * | name, | ||
| const char * | value, | ||
| bool | escaped | ||
| ) |
Returns a new entry of type ENTRY_STR.
Definition at line 3499 of file registry_ini.c.
Referenced by entry_from_token(), secfile_insert_bitwise_enum_full(), secfile_insert_enum_data_full(), secfile_insert_plain_enum_full(), and secfile_insert_str_full().
Change the section name. Returns TRUE on success.
Definition at line 3285 of file registry_ini.c.
Utility routine used by format_entry_string(). Does the word wrapping algorithm. Called twice, first time with is_counting=TRUE to count number of line breaks that will be added, and second time with is_counting=FALSE to do the actual work.
Definition at line 684 of file registry_ini.c.
Referenced by format_entry_string().