Author: sveinung Date: Wed Apr 12 15:54:12 2017 New Revision: 35235 URL: http://svn.gna.org/viewcvs/freeciv?rev=35235&view=rev Log: Count the number of server setting types.
See hrm Feature #651514 Modified: trunk/common/server_settings.h trunk/server/settings.c trunk/server/stdinhand.c trunk/tools/civmanual.c trunk/tools/ruleutil/rulesave.c Modified: trunk/common/server_settings.h URL: http://svn.gna.org/viewcvs/freeciv/trunk/common/server_settings.h?rev=35235&r1=35234&r2=35235&view=diff ============================================================================== --- trunk/common/server_settings.h (original) +++ trunk/common/server_settings.h Wed Apr 12 15:54:12 2017 @@ -25,6 +25,7 @@ #define SPECENUM_VALUE2 SST_STRING #define SPECENUM_VALUE3 SST_ENUM #define SPECENUM_VALUE4 SST_BITWISE +#define SPECENUM_COUNT SST_COUNT #include "specenum_gen.h" #ifdef __cplusplus Modified: trunk/server/settings.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/settings.c?rev=35235&r1=35234&r2=35235&view=diff ============================================================================== --- trunk/server/settings.c (original) +++ trunk/server/settings.c Wed Apr 12 15:54:12 2017 @@ -3890,6 +3890,9 @@ case SST_BITWISE: return setting_bitwise_to_str(pset, *pset->bitwise.pvalue, pretty, buf, buf_len); + case SST_COUNT: + /* Error logged below. */ + break; } log_error("%s(): Setting \"%s\" (nb %d) not handled in switch statement.", @@ -3923,6 +3926,9 @@ case SST_BITWISE: return setting_bitwise_to_str(pset, pset->bitwise.default_value, pretty, buf, buf_len); + case SST_COUNT: + /* Error logged below. */ + break; } log_error("%s(): Setting \"%s\" (nb %d) not handled in switch statement.", @@ -3951,6 +3957,9 @@ break; case SST_BITWISE: (*pset->bitwise.pvalue) = pset->bitwise.default_value; + break; + case SST_COUNT: + fc_assert(pset->stype != SST_COUNT); break; } @@ -4156,6 +4165,10 @@ } } break; + + case SST_COUNT: + fc_assert(pset->stype != SST_COUNT); + break; } pset->setdef = SETDEF_RULESET; @@ -4189,6 +4202,9 @@ return (read_enum_value(pset) != pset->enumerator.default_value); case SST_BITWISE: return (*pset->bitwise.pvalue != pset->bitwise.default_value); + case SST_COUNT: + /* Error logged below. */ + break; } log_error("%s(): Setting \"%s\" (nb %d) not handled in switch statement.", @@ -4243,6 +4259,10 @@ case SST_BITWISE: pset->bitwise.game_value = *pset->bitwise.pvalue; break; + + case SST_COUNT: + fc_assert(setting_type(pset) != SST_COUNT); + break; } } @@ -4300,6 +4320,10 @@ FALSE, buf, sizeof(buf)) && setting_bitwise_set(pset, buf, NULL, reject_msg, sizeof(reject_msg))); + break; + + case SST_COUNT: + res = NULL; break; } @@ -4374,6 +4398,13 @@ setting_bitwise_secfile_str, pset, "%s.set%d.gamestart", section, set_count); break; + case SST_COUNT: + fc_assert(setting_type(pset) != SST_COUNT); + secfile_insert_str(file, "Unknown setting type", + "%s.set%d.value", section, set_count); + secfile_insert_str(file, "Unknown setting type", + "%s.set%d.gamestart", section, set_count); + break; } set_count++; } @@ -4579,6 +4610,10 @@ } } break; + + case SST_COUNT: + fc_assert(pset->stype != SST_COUNT); + break; } if (game.server.settings_gamestart_valid) { @@ -4616,6 +4651,10 @@ secfile_lookup_enum_default_data(file, *pset->bitwise.pvalue, TRUE, setting_bitwise_secfile_str, pset, "%s.set%d.gamestart", section, i); + break; + + case SST_COUNT: + fc_assert(pset->stype != SST_COUNT); break; } @@ -4828,6 +4867,10 @@ send_packet_server_setting_bitwise(pconn, &packet); } conn_list_iterate_end; } + break; + + case SST_COUNT: + fc_assert(setting_type(pset) != SST_COUNT); break; } Modified: trunk/server/stdinhand.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/stdinhand.c?rev=35235&r1=35234&r2=35235&view=diff ============================================================================== --- trunk/server/stdinhand.c (original) +++ trunk/server/stdinhand.c Wed Apr 12 15:54:12 2017 @@ -1762,6 +1762,9 @@ _("Default:"), def_buf); } break; + case SST_COUNT: + fc_assert(setting_type(pset) != SST_COUNT); + break; } } } @@ -3000,6 +3003,11 @@ cmd_reply(CMD_SET, caller, C_FAIL, "%s", reject_msg); goto cleanup; } + break; + + case SST_COUNT: + fc_assert(setting_type(pset) != SST_COUNT); + goto cleanup; break; } Modified: trunk/tools/civmanual.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/tools/civmanual.c?rev=35235&r1=35234&r2=35235&view=diff ============================================================================== --- trunk/tools/civmanual.c (original) +++ trunk/tools/civmanual.c Wed Apr 12 15:54:12 2017 @@ -315,6 +315,9 @@ break; case SST_BOOL: case SST_STRING: + break; + case SST_COUNT: + fc_assert(setting_type(pset) != SST_COUNT); break; } if (SST_INT != setting_type(pset)) { Modified: trunk/tools/ruleutil/rulesave.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/tools/ruleutil/rulesave.c?rev=35235&r1=35234&r2=35235&view=diff ============================================================================== --- trunk/tools/ruleutil/rulesave.c (original) +++ trunk/tools/ruleutil/rulesave.c Wed Apr 12 15:54:12 2017 @@ -1394,6 +1394,11 @@ setting_bitwise_secfile_str, pset, "settings.set%d.value", set_count); break; + case SST_COUNT: + fc_assert(setting_type(pset) != SST_COUNT); + secfile_insert_str(sfile, "Unknown setting type", + "settings.set%d.value", set_count); + break; } if (locks) { _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits