From 6f50027088f5687a94b446579bb350726c65d063 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sun, 24 May 2015 07:43:11 +0200 Subject: [PATCH 1/3] use_item can return positive values now --- src/laws.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/laws.c b/src/laws.c index 1380eb5f5..13e486c2c 100755 --- a/src/laws.c +++ b/src/laws.c @@ -3501,8 +3501,7 @@ void update_long_order(unit * u) } } -static int -use_item(unit * u, const item_type * itype, int amount, struct order *ord) +static int use_item(unit * u, const item_type * itype, int amount, struct order *ord) { int i; int target = read_unitid(u->faction, u->region); @@ -3795,10 +3794,6 @@ int use_cmd(unit * u, struct order *ord) if (itype != NULL) { err = use_item(u, itype, n, ord); - assert(err <= 0 || !"use_item should not return positive values."); - if (err > 0) { - log_error("use_item returned a value>0 for %s\n", resourcename(itype->rtype, 0)); - } } switch (err) { case ENOITEM: @@ -3810,6 +3805,9 @@ int use_cmd(unit * u, struct order *ord) case ENOSKILL: cmistake(u, ord, 50, MSG_PRODUCE); break; + default: + // no error + break; } return err; } From 34b1ead0acf5479274f0774c1ffb37704fda3e05 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Fri, 22 May 2015 16:23:18 +0200 Subject: [PATCH 2/3] Make GiveRestriction default to 0, do not cache the value in a static variable. --- src/give.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/give.c b/src/give.c index d22a09c73..3f8f62927 100644 --- a/src/give.c +++ b/src/give.c @@ -57,12 +57,7 @@ static int max_transfers(void) { static int GiveRestriction(void) { - static int value = -1; - if (value < 0) { - const char *str = get_param(global.parameters, "GiveRestriction"); - value = str ? atoi(str) : 0; - } - return value; + return get_param_int(global.parameters, "GiveRestriction", 0); } static void feedback_give_not_allowed(unit * u, order * ord) From 9780ec845f6f27ba6828322096cd2a9a2cb8478c Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sun, 24 May 2015 07:49:01 +0200 Subject: [PATCH 3/3] still having problems with GiveRestriction --- s/runtests | 2 ++ scripts/tests/pool.lua | 1 + 2 files changed, 3 insertions(+) diff --git a/s/runtests b/s/runtests index ef7fc71df..3f3b61548 100755 --- a/s/runtests +++ b/s/runtests @@ -1,4 +1,6 @@ #!/bin/bash +set -e + ROOT=$(pwd) while [ ! -d $ROOT/.git ]; do ROOT=$(dirname $ROOT) diff --git a/scripts/tests/pool.lua b/scripts/tests/pool.lua index 2ac9c87f2..3ee3d54db 100644 --- a/scripts/tests/pool.lua +++ b/scripts/tests/pool.lua @@ -61,6 +61,7 @@ end function test_give_divisor() eressea.settings.set("rules.items.give_divisor", 2) + eressea.settings.set("GiveRestriction", 0) local r = region.create(1, 1, "plain") local f1 = faction.create("test@example.com", "human", "de") local f2 = faction.create("test@example.com", "human", "de")