forked from github/server
cppcheck style warnings: reduce variable scope
This commit is contained in:
parent
11c21d035a
commit
d0577a5d6a
|
@ -1157,7 +1157,7 @@ static char *cr_output_resource(char *buf, const resource_type *rtype,
|
||||||
assert(rtype);
|
assert(rtype);
|
||||||
name = resourcename(rtype, NMF_PLURAL);
|
name = resourcename(rtype, NMF_PLURAL);
|
||||||
assert(name);
|
assert(name);
|
||||||
buf += sprintf(buf, "RESOURCE %u\n", str_hash(rtype->_name));
|
buf += sprintf(buf, "RESOURCE %d\n", str_hash(rtype->_name));
|
||||||
tname = LOC(loc, name);
|
tname = LOC(loc, name);
|
||||||
assert(tname);
|
assert(tname);
|
||||||
tname = translate(name, tname);
|
tname = translate(name, tname);
|
||||||
|
|
|
@ -2239,7 +2239,6 @@ static void breed_cmd(unit * u, struct order *ord)
|
||||||
const char *s;
|
const char *s;
|
||||||
param_t p;
|
param_t p;
|
||||||
region *r = u->region;
|
region *r = u->region;
|
||||||
const resource_type *rtype = NULL;
|
|
||||||
|
|
||||||
if (r->land == NULL) {
|
if (r->land == NULL) {
|
||||||
ADDMSG(&u->faction->msgs, msg_feedback(u, ord, "error_onlandonly", ""));
|
ADDMSG(&u->faction->msgs, msg_feedback(u, ord, "error_onlandonly", ""));
|
||||||
|
@ -2275,7 +2274,7 @@ static void breed_cmd(unit * u, struct order *ord)
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (p != P_ANY) {
|
if (p != P_ANY) {
|
||||||
rtype = findresourcetype(s, u->faction->locale);
|
const resource_type *rtype = findresourcetype(s, u->faction->locale);
|
||||||
if (rtype == get_resourcetype(R_SEED) || rtype == get_resourcetype(R_MALLORN_SEED)) {
|
if (rtype == get_resourcetype(R_SEED) || rtype == get_resourcetype(R_MALLORN_SEED)) {
|
||||||
breedtrees(u, m);
|
breedtrees(u, m);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -874,7 +874,6 @@ static void start_resources(parseinfo *pi, const XML_Char *el, const XML_Char **
|
||||||
}
|
}
|
||||||
|
|
||||||
static void start_ships(parseinfo *pi, const XML_Char *el, const XML_Char **attr) {
|
static void start_ships(parseinfo *pi, const XML_Char *el, const XML_Char **attr) {
|
||||||
const char *flag_names[] = { "opensea", "fly", "nocoast", "speedy", NULL };
|
|
||||||
if (xml_strequal(el, "ship")) {
|
if (xml_strequal(el, "ship")) {
|
||||||
const XML_Char *name;
|
const XML_Char *name;
|
||||||
|
|
||||||
|
@ -917,13 +916,16 @@ static void start_ships(parseinfo *pi, const XML_Char *el, const XML_Char **attr
|
||||||
else if (xml_strequal(attr[i], "storm")) {
|
else if (xml_strequal(attr[i], "storm")) {
|
||||||
stype->storm = xml_float(attr[i + 1]);
|
stype->storm = xml_float(attr[i + 1]);
|
||||||
}
|
}
|
||||||
else if (!handle_flag(&flags, attr + i, flag_names)) {
|
else {
|
||||||
|
const char *flag_names[] = { "opensea", "fly", "nocoast", "speedy", NULL };
|
||||||
|
if (!handle_flag(&flags, attr + i, flag_names)) {
|
||||||
/* we already handled the name earlier */
|
/* we already handled the name earlier */
|
||||||
if (!xml_strequal(attr[i], "name")) {
|
if (!xml_strequal(attr[i], "name")) {
|
||||||
handle_bad_input(pi, el, attr[i]);
|
handle_bad_input(pi, el, attr[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
stype->flags = flags;
|
stype->flags = flags;
|
||||||
pi->object = stype;
|
pi->object = stype;
|
||||||
}
|
}
|
||||||
|
@ -1209,7 +1211,6 @@ static void start_races(parseinfo *pi, const XML_Char *el, const XML_Char **attr
|
||||||
}
|
}
|
||||||
|
|
||||||
static void start_buildings(parseinfo *pi, const XML_Char *el, const XML_Char **attr) {
|
static void start_buildings(parseinfo *pi, const XML_Char *el, const XML_Char **attr) {
|
||||||
const char *flag_names[] = { "nodestroy", "nobuild", "unique", "decay", "magic", "namechange", "fort", "oneperturn", NULL };
|
|
||||||
if (xml_strequal(el, "building")) {
|
if (xml_strequal(el, "building")) {
|
||||||
const XML_Char *name;
|
const XML_Char *name;
|
||||||
|
|
||||||
|
@ -1245,13 +1246,16 @@ static void start_buildings(parseinfo *pi, const XML_Char *el, const XML_Char **
|
||||||
/* magres is specified in percent! */
|
/* magres is specified in percent! */
|
||||||
btype->magres = frac_make(xml_int(attr[i + 1]), 100);
|
btype->magres = frac_make(xml_int(attr[i + 1]), 100);
|
||||||
}
|
}
|
||||||
else if (!handle_flag(&flags, attr + i, flag_names)) {
|
else {
|
||||||
|
const char *flag_names[] = { "nodestroy", "nobuild", "unique", "decay", "magic", "namechange", "fort", "oneperturn", NULL };
|
||||||
|
if (!handle_flag(&flags, attr + i, flag_names)) {
|
||||||
/* we already handled the name earlier */
|
/* we already handled the name earlier */
|
||||||
if (!xml_strequal(attr[i], "name")) {
|
if (!xml_strequal(attr[i], "name")) {
|
||||||
handle_bad_input(pi, el, attr[i]);
|
handle_bad_input(pi, el, attr[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
btype->flags = flags;
|
btype->flags = flags;
|
||||||
pi->object = btype;
|
pi->object = btype;
|
||||||
}
|
}
|
||||||
|
|
|
@ -169,7 +169,6 @@ int give_quota(const unit * src, const unit * dst, const item_type * type,
|
||||||
if (config_changed(&config)) {
|
if (config_changed(&config)) {
|
||||||
divisor = config_get_int("rules.items.give_divisor", divisor);
|
divisor = config_get_int("rules.items.give_divisor", divisor);
|
||||||
}
|
}
|
||||||
assert(divisor <= 0 || divisor >= 1);
|
|
||||||
if (divisor >= 1) {
|
if (divisor >= 1) {
|
||||||
/* predictable > correct: */
|
/* predictable > correct: */
|
||||||
return n / divisor;
|
return n / divisor;
|
||||||
|
|
|
@ -1032,12 +1032,14 @@ static int add_po_string(const char *msgid, const char *msgstr, const char *msgc
|
||||||
}
|
}
|
||||||
|
|
||||||
static int include_po(const char *uri) {
|
static int include_po(const char *uri) {
|
||||||
char name[PATH_MAX], lname[8];
|
char name[PATH_MAX];
|
||||||
const char *filename = uri_to_file(uri, name, sizeof(name));
|
const char *filename = uri_to_file(uri, name, sizeof(name));
|
||||||
const char *pos = strstr(filename, ".po");
|
const char *pos = strstr(filename, ".po");
|
||||||
if (pos) {
|
if (pos) {
|
||||||
size_t len;
|
size_t len;
|
||||||
const char *str = --pos;
|
const char *str = --pos;
|
||||||
|
char lname[8];
|
||||||
|
|
||||||
while (str > filename && *str != '.') --str;
|
while (str > filename && *str != '.') --str;
|
||||||
len = (size_t)(pos - str);
|
len = (size_t)(pos - str);
|
||||||
if (len < sizeof(lname)) {
|
if (len < sizeof(lname)) {
|
||||||
|
|
|
@ -185,15 +185,15 @@ void at_register(attrib_type * at)
|
||||||
|
|
||||||
static attrib_type *at_find_key(unsigned int hk)
|
static attrib_type *at_find_key(unsigned int hk)
|
||||||
{
|
{
|
||||||
|
attrib_type *find = at_hash[hk % MAXATHASH];
|
||||||
|
while (find && hk != find->hashkey)
|
||||||
|
find = find->nexthash;
|
||||||
|
if (!find) {
|
||||||
const char *translate[3][2] = {
|
const char *translate[3][2] = {
|
||||||
{ "zielregion", "targetregion" }, /* remapping: from 'zielregion, heute targetregion */
|
{ "zielregion", "targetregion" }, /* remapping: from 'zielregion, heute targetregion */
|
||||||
{ "verzaubert", "curse" }, /* remapping: früher verzaubert, jetzt curse */
|
{ "verzaubert", "curse" }, /* remapping: früher verzaubert, jetzt curse */
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
attrib_type *find = at_hash[hk % MAXATHASH];
|
|
||||||
while (find && hk != find->hashkey)
|
|
||||||
find = find->nexthash;
|
|
||||||
if (!find) {
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while (translate[i][0]) {
|
while (translate[i][0]) {
|
||||||
if (__at_hashkey(translate[i][0]) == hk)
|
if (__at_hashkey(translate[i][0]) == hk)
|
||||||
|
|
|
@ -170,7 +170,6 @@ const char *crescape(const char *str, char *buffer, size_t size) {
|
||||||
int stream_order(struct stream *out, const struct order *ord, const struct locale *lang, bool escape)
|
int stream_order(struct stream *out, const struct order *ord, const struct locale *lang, bool escape)
|
||||||
{
|
{
|
||||||
const char *text;
|
const char *text;
|
||||||
order_data *od = NULL;
|
|
||||||
keyword_t kwd = ORD_KEYWORD(ord);
|
keyword_t kwd = ORD_KEYWORD(ord);
|
||||||
|
|
||||||
if (ord->command & CMD_QUIET) {
|
if (ord->command & CMD_QUIET) {
|
||||||
|
@ -203,7 +202,7 @@ int stream_order(struct stream *out, const struct order *ord, const struct local
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
od = odata_load(ord->id);
|
order_data *od = odata_load(ord->id);
|
||||||
text = OD_STRING(od);
|
text = OD_STRING(od);
|
||||||
if (text) {
|
if (text) {
|
||||||
char obuf[1024];
|
char obuf[1024];
|
||||||
|
|
|
@ -181,10 +181,8 @@ struct rawmaterial_type *rmt_get(const struct resource_type *rtype)
|
||||||
|
|
||||||
struct rawmaterial_type *rmt_create(struct resource_type *rtype)
|
struct rawmaterial_type *rmt_create(struct resource_type *rtype)
|
||||||
{
|
{
|
||||||
rawmaterial_type *rmtype;
|
|
||||||
|
|
||||||
if (!rtype->raw) {
|
if (!rtype->raw) {
|
||||||
rmtype = rtype->raw = malloc(sizeof(rawmaterial_type));
|
rawmaterial_type *rmtype = rtype->raw = malloc(sizeof(rawmaterial_type));
|
||||||
rmtype->rtype = rtype;
|
rmtype->rtype = rtype;
|
||||||
rmtype->terraform = terraform_default;
|
rmtype->terraform = terraform_default;
|
||||||
rmtype->update = NULL;
|
rmtype->update = NULL;
|
||||||
|
|
|
@ -272,12 +272,11 @@ static void read_owner(gamedata *data, region_owner ** powner)
|
||||||
static void write_owner(gamedata *data, region_owner * owner)
|
static void write_owner(gamedata *data, region_owner * owner)
|
||||||
{
|
{
|
||||||
if (owner) {
|
if (owner) {
|
||||||
faction *f;
|
|
||||||
WRITE_INT(data->store, owner->since_turn);
|
WRITE_INT(data->store, owner->since_turn);
|
||||||
if (owner->since_turn >= 0) {
|
if (owner->since_turn >= 0) {
|
||||||
|
faction *f = owner->last_owner;
|
||||||
WRITE_INT(data->store, owner->morale_turn);
|
WRITE_INT(data->store, owner->morale_turn);
|
||||||
WRITE_INT(data->store, owner->flags);
|
WRITE_INT(data->store, owner->flags);
|
||||||
f = owner->last_owner;
|
|
||||||
write_faction_reference((f && f->_alive) ? f : NULL, data->store);
|
write_faction_reference((f && f->_alive) ? f : NULL, data->store);
|
||||||
f = owner->owner;
|
f = owner->owner;
|
||||||
write_faction_reference((f && f->_alive) ? f : NULL, data->store);
|
write_faction_reference((f && f->_alive) ? f : NULL, data->store);
|
||||||
|
@ -887,12 +886,12 @@ int get_spell_level_faction(const spell * sp, void * cbdata)
|
||||||
}
|
}
|
||||||
|
|
||||||
static char * getpasswd(int fno) {
|
static char * getpasswd(int fno) {
|
||||||
|
FILE * F = fopen("passwords.txt", "r");
|
||||||
|
if (F) {
|
||||||
const char *prefix = itoa36(fno);
|
const char *prefix = itoa36(fno);
|
||||||
size_t len = strlen(prefix);
|
size_t len = strlen(prefix);
|
||||||
FILE * F = fopen("passwords.txt", "r");
|
|
||||||
char line[80];
|
|
||||||
if (F) {
|
|
||||||
while (!feof(F)) {
|
while (!feof(F)) {
|
||||||
|
char line[80];
|
||||||
fgets(line, sizeof(line), F);
|
fgets(line, sizeof(line), F);
|
||||||
if (line[len] == ':' && strncmp(prefix, line, len) == 0) {
|
if (line[len] == ':' && strncmp(prefix, line, len) == 0) {
|
||||||
size_t slen = strlen(line) - 1;
|
size_t slen = strlen(line) - 1;
|
||||||
|
@ -1147,7 +1146,7 @@ static int cb_sb_maxlevel(spellbook_entry *sbe, void *cbdata) {
|
||||||
|
|
||||||
int readgame(const char *filename)
|
int readgame(const char *filename)
|
||||||
{
|
{
|
||||||
int n, stream_version;
|
int n = -2, stream_version;
|
||||||
char path[PATH_MAX];
|
char path[PATH_MAX];
|
||||||
gamedata gdata = { 0 };
|
gamedata gdata = { 0 };
|
||||||
storage store;
|
storage store;
|
||||||
|
@ -1164,6 +1163,7 @@ int readgame(const char *filename)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
sz = fread(&gdata.version, sizeof(int), 1, F);
|
sz = fread(&gdata.version, sizeof(int), 1, F);
|
||||||
|
if (sz == 1) {
|
||||||
sz = fread(&stream_version, sizeof(int), 1, F);
|
sz = fread(&stream_version, sizeof(int), 1, F);
|
||||||
assert((sz == 1 && stream_version == STREAM_VERSION) || !"unsupported data format");
|
assert((sz == 1 && stream_version == STREAM_VERSION) || !"unsupported data format");
|
||||||
assert(gdata.version >= MIN_VERSION || !"unsupported data format");
|
assert(gdata.version >= MIN_VERSION || !"unsupported data format");
|
||||||
|
@ -1181,6 +1181,7 @@ int readgame(const char *filename)
|
||||||
n = read_game(&gdata);
|
n = read_game(&gdata);
|
||||||
binstore_done(&store);
|
binstore_done(&store);
|
||||||
fstream_done(&strm);
|
fstream_done(&strm);
|
||||||
|
}
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1350,8 +1351,6 @@ int read_game(gamedata *data)
|
||||||
int p, nread;
|
int p, nread;
|
||||||
faction *f, **fp;
|
faction *f, **fp;
|
||||||
region *r;
|
region *r;
|
||||||
building **bp;
|
|
||||||
ship **shp;
|
|
||||||
unit *u;
|
unit *u;
|
||||||
storage * store = data->store;
|
storage * store = data->store;
|
||||||
const struct building_type *bt_lighthouse = bt_find("lighthouse");
|
const struct building_type *bt_lighthouse = bt_find("lighthouse");
|
||||||
|
@ -1407,6 +1406,8 @@ int read_game(gamedata *data)
|
||||||
|
|
||||||
while (--nread >= 0) {
|
while (--nread >= 0) {
|
||||||
unit **up;
|
unit **up;
|
||||||
|
building **bp;
|
||||||
|
ship **shp;
|
||||||
|
|
||||||
r = read_region(data);
|
r = read_region(data);
|
||||||
|
|
||||||
|
|
|
@ -776,7 +776,6 @@ void clone_men(const unit * u, unit * dst, int n)
|
||||||
/* "hat attackiert"-status wird uebergeben */
|
/* "hat attackiert"-status wird uebergeben */
|
||||||
|
|
||||||
if (dst) {
|
if (dst) {
|
||||||
skill *sv, *sn;
|
|
||||||
skill_t sk;
|
skill_t sk;
|
||||||
ship *sh;
|
ship *sh;
|
||||||
|
|
||||||
|
@ -784,9 +783,8 @@ void clone_men(const unit * u, unit * dst, int n)
|
||||||
|
|
||||||
for (sk = 0; sk != MAXSKILLS; ++sk) {
|
for (sk = 0; sk != MAXSKILLS; ++sk) {
|
||||||
int weeks, level = 0;
|
int weeks, level = 0;
|
||||||
|
skill *sv = unit_skill(u, sk);
|
||||||
sv = unit_skill(u, sk);
|
skill *sn = unit_skill(dst, sk);
|
||||||
sn = unit_skill(dst, sk);
|
|
||||||
|
|
||||||
if (sv == NULL && sn == NULL)
|
if (sv == NULL && sn == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -3399,8 +3399,8 @@ int pay_cmd(unit * u, struct order *ord)
|
||||||
|
|
||||||
static int reserve_i(unit * u, struct order *ord, int flags)
|
static int reserve_i(unit * u, struct order *ord, int flags)
|
||||||
{
|
{
|
||||||
char token[128];
|
|
||||||
if (u->number > 0) {
|
if (u->number > 0) {
|
||||||
|
char token[128];
|
||||||
int use, count, para;
|
int use, count, para;
|
||||||
const item_type *itype;
|
const item_type *itype;
|
||||||
const char *s;
|
const char *s;
|
||||||
|
|
|
@ -1334,7 +1334,6 @@ static void do_fumble(castorder * co)
|
||||||
int level = co->level;
|
int level = co->level;
|
||||||
int duration;
|
int duration;
|
||||||
double effect;
|
double effect;
|
||||||
static const race *rc_toad;
|
|
||||||
static int rc_cache;
|
static int rc_cache;
|
||||||
fumble_f fun;
|
fumble_f fun;
|
||||||
|
|
||||||
|
@ -1359,6 +1358,7 @@ static void do_fumble(castorder * co)
|
||||||
* The list of things to happen are attached to a timeout
|
* The list of things to happen are attached to a timeout
|
||||||
* trigger and that's added to the triggerlit of the mage gone toad.
|
* trigger and that's added to the triggerlit of the mage gone toad.
|
||||||
*/
|
*/
|
||||||
|
static const race *rc_toad;
|
||||||
trigger *trestore = trigger_changerace(mage, u_race(mage), mage->irace);
|
trigger *trestore = trigger_changerace(mage, u_race(mage), mage->irace);
|
||||||
if (chance(0.7)) {
|
if (chance(0.7)) {
|
||||||
const resource_type *rtype = rt_find("toadslime");
|
const resource_type *rtype = rt_find("toadslime");
|
||||||
|
@ -2119,10 +2119,9 @@ void add_castorder(spellrank * cll, castorder * co)
|
||||||
|
|
||||||
void free_castorders(castorder * co)
|
void free_castorders(castorder * co)
|
||||||
{
|
{
|
||||||
castorder *co2;
|
|
||||||
|
|
||||||
while (co) {
|
while (co) {
|
||||||
co2 = co;
|
castorder *co2 = co;
|
||||||
co = co->next;
|
co = co->next;
|
||||||
free_castorder(co2);
|
free_castorder(co2);
|
||||||
free(co2);
|
free(co2);
|
||||||
|
@ -2202,15 +2201,14 @@ void remove_familiar(unit * mage)
|
||||||
{
|
{
|
||||||
attrib *a = a_find(mage->attribs, &at_familiar);
|
attrib *a = a_find(mage->attribs, &at_familiar);
|
||||||
attrib *an;
|
attrib *an;
|
||||||
skillmod_data *smd;
|
|
||||||
|
|
||||||
if (a != NULL) {
|
if (a != NULL) {
|
||||||
a_remove(&mage->attribs, a);
|
a_remove(&mage->attribs, a);
|
||||||
}
|
}
|
||||||
a = a_find(mage->attribs, &at_skillmod);
|
a = a_find(mage->attribs, &at_skillmod);
|
||||||
while (a && a->type == &at_skillmod) {
|
while (a && a->type == &at_skillmod) {
|
||||||
|
skillmod_data *smd = (skillmod_data *)a->data.v;
|
||||||
an = a->next;
|
an = a->next;
|
||||||
smd = (skillmod_data *)a->data.v;
|
|
||||||
if (smd->special == sm_familiar) {
|
if (smd->special == sm_familiar) {
|
||||||
a_remove(&mage->attribs, a);
|
a_remove(&mage->attribs, a);
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,11 +108,11 @@ static const char * valid_keys[] = {
|
||||||
|
|
||||||
static dictionary *parse_config(const char *filename)
|
static dictionary *parse_config(const char *filename)
|
||||||
{
|
{
|
||||||
char path[PATH_MAX];
|
|
||||||
dictionary *d;
|
dictionary *d;
|
||||||
const char *str, *cfgpath = config_get("config.path");
|
const char *str, *cfgpath = config_get("config.path");
|
||||||
|
|
||||||
if (cfgpath) {
|
if (cfgpath) {
|
||||||
|
char path[PATH_MAX];
|
||||||
path_join(cfgpath, filename, path, sizeof(path));
|
path_join(cfgpath, filename, path, sizeof(path));
|
||||||
log_debug("reading from configuration file %s\n", path);
|
log_debug("reading from configuration file %s\n", path);
|
||||||
d = iniparser_load(path);
|
d = iniparser_load(path);
|
||||||
|
|
|
@ -94,9 +94,9 @@ skill_t findskill(const char *name)
|
||||||
skill_t get_skill(const char *s, const struct locale * lang)
|
skill_t get_skill(const char *s, const struct locale * lang)
|
||||||
{
|
{
|
||||||
skill_t result = NOSKILL;
|
skill_t result = NOSKILL;
|
||||||
char buffer[64];
|
|
||||||
|
|
||||||
if (s) {
|
if (s) {
|
||||||
|
char buffer[64];
|
||||||
char * str = transliterate(buffer, sizeof(buffer) - sizeof(int), s);
|
char * str = transliterate(buffer, sizeof(buffer) - sizeof(int), s);
|
||||||
if (str) {
|
if (str) {
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -357,8 +357,6 @@ int sp_sleep(struct castorder * co)
|
||||||
const spell * sp = co->sp;
|
const spell * sp = co->sp;
|
||||||
battle *b = fi->side->battle;
|
battle *b = fi->side->battle;
|
||||||
unit *mage = fi->unit;
|
unit *mage = fi->unit;
|
||||||
unit *du;
|
|
||||||
troop dt;
|
|
||||||
int force, enemies;
|
int force, enemies;
|
||||||
int k = 0;
|
int k = 0;
|
||||||
message *m;
|
message *m;
|
||||||
|
@ -374,7 +372,8 @@ int sp_sleep(struct castorder * co)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
while (force && enemies) {
|
while (force && enemies) {
|
||||||
dt = select_enemy(fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE);
|
unit *du;
|
||||||
|
troop dt = select_enemy(fi, FIGHT_ROW, BEHIND_ROW, SELECT_ADVANCE);
|
||||||
assert(dt.fighter);
|
assert(dt.fighter);
|
||||||
du = dt.fighter->unit;
|
du = dt.fighter->unit;
|
||||||
if (!is_magic_resistant(mage, du, 0)) {
|
if (!is_magic_resistant(mage, du, 0)) {
|
||||||
|
|
|
@ -217,7 +217,6 @@ int setstealth_cmd(unit * u, struct order *ord)
|
||||||
{
|
{
|
||||||
char token[64];
|
char token[64];
|
||||||
const char *s;
|
const char *s;
|
||||||
int level;
|
|
||||||
|
|
||||||
init_order_depr(ord);
|
init_order_depr(ord);
|
||||||
s = gettoken(token, sizeof(token));
|
s = gettoken(token, sizeof(token));
|
||||||
|
@ -231,7 +230,7 @@ int setstealth_cmd(unit * u, struct order *ord)
|
||||||
|
|
||||||
if (isdigit(*(const unsigned char *)s)) {
|
if (isdigit(*(const unsigned char *)s)) {
|
||||||
/* Tarnungslevel setzen */
|
/* Tarnungslevel setzen */
|
||||||
level = atoi((const char *)s);
|
int level = atoi((const char *)s);
|
||||||
if (level > effskill(u, SK_STEALTH, NULL)) {
|
if (level > effskill(u, SK_STEALTH, NULL)) {
|
||||||
ADDMSG(&u->faction->msgs, msg_feedback(u, ord, "error_lowstealth", ""));
|
ADDMSG(&u->faction->msgs, msg_feedback(u, ord, "error_lowstealth", ""));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -77,11 +77,12 @@ int *nmrs = NULL;
|
||||||
|
|
||||||
int update_nmrs(void)
|
int update_nmrs(void)
|
||||||
{
|
{
|
||||||
int i, newplayers = 0;
|
int newplayers = 0;
|
||||||
faction *f;
|
faction *f;
|
||||||
int timeout = NMRTimeout();
|
int timeout = NMRTimeout();
|
||||||
|
|
||||||
if (timeout>0) {
|
if (timeout>0) {
|
||||||
|
int i;
|
||||||
if (nmrs == NULL) {
|
if (nmrs == NULL) {
|
||||||
nmrs = malloc(sizeof(int) * (timeout + 1));
|
nmrs = malloc(sizeof(int) * (timeout + 1));
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,9 @@ int main(int argc, char **argv)
|
||||||
char key[4];
|
char key[4];
|
||||||
char code[4];
|
char code[4];
|
||||||
char result[4];
|
char result[4];
|
||||||
int a, i, rot;
|
int a;
|
||||||
for (a = 1; a < argc; ++a) {
|
for (a = 1; a < argc; ++a) {
|
||||||
|
int rot, i;
|
||||||
const char *str = argv[a];
|
const char *str = argv[a];
|
||||||
size_t len = strlen(str);
|
size_t len = strlen(str);
|
||||||
str = str + len - 6;
|
str = str + len - 6;
|
||||||
|
@ -16,8 +17,9 @@ int main(int argc, char **argv)
|
||||||
memcpy(code, str + 3, 3);
|
memcpy(code, str + 3, 3);
|
||||||
result[3] = key[3] = code[3] = 0;
|
result[3] = key[3] = code[3] = 0;
|
||||||
rot = atoi(key);
|
rot = atoi(key);
|
||||||
for (i = 0; i != 3; ++i)
|
for (i = 0; i != 3; ++i) {
|
||||||
result[(i + rot) % 3] = ((code[i] + 10 - key[i]) % 10) + '0';
|
result[(i + rot) % 3] = ((code[i] + 10 - key[i]) % 10) + '0';
|
||||||
|
}
|
||||||
printf("%s %s\n", argv[a], result);
|
printf("%s %s\n", argv[a], result);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -52,13 +52,13 @@ keyword_t findkeyword(const char *s) {
|
||||||
|
|
||||||
keyword_t get_keyword(const char *s, const struct locale *lang) {
|
keyword_t get_keyword(const char *s, const struct locale *lang) {
|
||||||
keyword_t result = NOKEYWORD;
|
keyword_t result = NOKEYWORD;
|
||||||
char buffer[64];
|
|
||||||
|
|
||||||
assert(lang);
|
assert(lang);
|
||||||
assert(s);
|
assert(s);
|
||||||
while (*s == '@') ++s;
|
while (*s == '@') ++s;
|
||||||
|
|
||||||
if (*s) {
|
if (*s) {
|
||||||
|
char buffer[64];
|
||||||
char *str = transliterate(buffer, sizeof(buffer) - sizeof(int), s);
|
char *str = transliterate(buffer, sizeof(buffer) - sizeof(int), s);
|
||||||
|
|
||||||
if (str) {
|
if (str) {
|
||||||
|
|
|
@ -100,10 +100,10 @@ void init_by_array(unsigned long init_key[], int key_length)
|
||||||
unsigned long genrand_int32(void)
|
unsigned long genrand_int32(void)
|
||||||
{
|
{
|
||||||
unsigned long y;
|
unsigned long y;
|
||||||
static unsigned long mag01[2]={0x0UL, MATRIX_A};
|
|
||||||
/* mag01[x] = x * MATRIX_A for x=0,1 */
|
|
||||||
|
|
||||||
if (mti >= N) { /* generate N words at one time */
|
if (mti >= N) { /* generate N words at one time */
|
||||||
|
static unsigned long mag01[2] = { 0x0UL, MATRIX_A };
|
||||||
|
/* mag01[x] = x * MATRIX_A for x=0,1 */
|
||||||
int kk;
|
int kk;
|
||||||
|
|
||||||
if (mti == N+1) /* if init_genrand() has not been called, */
|
if (mti == N+1) /* if init_genrand() has not been called, */
|
||||||
|
|
|
@ -8,18 +8,14 @@
|
||||||
|
|
||||||
static void test_rng_round(CuTest * tc)
|
static void test_rng_round(CuTest * tc)
|
||||||
{
|
{
|
||||||
double f;
|
double f = rng_double();
|
||||||
int i, r;
|
int r = RAND_ROUND(f);
|
||||||
for (i = 0; i < 1000; ++i) {
|
|
||||||
f = rng_double();
|
|
||||||
r = RAND_ROUND(f);
|
|
||||||
CuAssertTrue(tc, f >= 0);
|
CuAssertTrue(tc, f >= 0);
|
||||||
CuAssertTrue(tc, r <= (int)f + 1);
|
CuAssertTrue(tc, r <= (int)f + 1);
|
||||||
CuAssertTrue(tc, r >= (int)f);
|
CuAssertTrue(tc, r >= (int)f);
|
||||||
CuAssertTrue(tc, r == (int)r);
|
CuAssertTrue(tc, r == (int)r);
|
||||||
CuAssertTrue(tc, r == RAND_ROUND(r));
|
CuAssertTrue(tc, r == RAND_ROUND(r));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
CuSuite *get_rng_suite(void)
|
CuSuite *get_rng_suite(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue