Commit graph

1944 commits

Author SHA1 Message Date
Enno Rehling
e8a42b20dd don't use test_create_world 2015-11-07 18:47:55 +01:00
Enno Rehling
7ef18b1533 call cleanup 2015-11-07 18:45:41 +01:00
Enno Rehling
242efafd61 Fehlende Initializierung, github #375 2015-11-07 18:21:48 +01:00
Enno Rehling
26b6ae4e30 github issue #374
stick some assertions in natural_armor
refactor it for readability
eliminate a static memory leak
reset num_races to zero at end of test
2015-11-07 18:21:47 +01:00
Philipp Dreher
43b2e30c46 added initial cleanup 2015-11-07 15:18:23 +01:00
Philipp Dreher
4d622224aa added message cleanup 2015-11-07 14:47:14 +01:00
Philipp Dreher
5e85945c94 fixed the test so it finally behaves correctly 2015-11-07 14:27:48 +01:00
Enno Rehling
2f8dc29396 clean up item tests so they don't use test_create_world
fix intermittent skillpotion test
2015-11-07 13:52:18 +01:00
Philipp Dreher
663d947b2a New behaviour in case of low skill during building
Insufficient skill after hitting the next improvement stage is now
handled by leaving the for-loop and skipping to after-build-processing.
2015-11-06 21:04:35 +01:00
Philipp Dreher
b0a986e155 Revert "added a lua-test"
This reverts commit a452ad1517.
2015-11-06 20:57:19 +01:00
Philipp Dreher
a452ad1517 added a lua-test
New lua-test for the bug concerning the minskill for castle-stages.
(#1859)
2015-11-06 20:53:10 +01:00
Philipp Dreher
be5d81acd1 Revert "new test"
This reverts commit cb16315e7c.
2015-11-06 20:51:38 +01:00
Philipp Dreher
cb16315e7c new test
Added test for the handling of castles' buildstages and their individual
skillcaps.
2015-11-06 13:14:19 +01:00
Philipp Dreher
757bff87d3 slight code improvement
(test still not working as it should though)
2015-11-06 12:08:12 +01:00
Philipp Dreher
9e2d2b1560 corrected some mistakes in setup and cleanup of the test 2015-11-05 20:10:51 +01:00
Philipp Dreher
62805cdfa3 added new test to check the msg-behaviour 2015-11-05 15:16:52 +01:00
Enno Rehling
4ae94eaa3f fix compilation 2015-11-05 14:06:26 +01:00
Enno Rehling
40651d57cd 22583 Time of check time of use
avoid use of access()
2015-11-05 14:05:58 +01:00
Enno Rehling
5f99288af1 CID 22581 Time of check time of use
CID 22582 Time of check time of use
CID 30743 Time of check time of use
2015-11-05 13:27:38 +01:00
Enno Rehling
8a057f183f CID 22580 Time of check time of use
no need to check this first
2015-11-05 13:22:51 +01:00
Enno Rehling
797eee025d fix cb_insert comparison (new return value for success) 2015-11-05 13:01:48 +01:00
Enno Rehling
dcc819491f make it easier for coverity to understand this code (there are no resource leaks) 2015-11-05 12:47:34 +01:00
Enno Rehling
d553066590 CID 22548 Resource leak
github issue #334
2015-11-05 11:31:52 +01:00
Enno Rehling
fce3f63cc1 CID 22529 Resource leak
github issue #351
allocation call optimization for small units
2015-11-05 11:22:16 +01:00
Enno Rehling
530f729621 CID 22499 Missing break in switch
github issue #357
nice catch!
2015-11-05 11:18:39 +01:00
Enno Rehling
4c861aa40d CID 22496 Infinite loop
github issue #356
this is only relevant to old data files, it appears.
2015-11-05 11:17:31 +01:00
Enno Rehling
58c1d83c9e CID 22491 FORWARD_NULL
github issue #352
fals positive, rewriting code to appease coverity
2015-11-05 11:14:53 +01:00
Enno Rehling
62d7e9e944 CID 22473 Evaluation order violation
github issue #347
2015-11-05 11:11:02 +01:00
Enno Rehling
e16e669294 CID LAST_ROW 22455 Logically dead code
github issue #359
song of confusion was not selecting from fleeing units
2015-11-05 11:08:55 +01:00
Enno Rehling
2a7fc87656 CID 30742 Dereference before null check
CID 30741 ditto
2015-11-05 10:59:14 +01:00
Enno Rehling
0206ffbec6 accidentally inverted condition when fixing volcano attribute 2015-11-05 09:57:57 +01:00
Enno Rehling
91758d2e51 CID 22439 Unchecked return value from library 2015-11-05 09:00:52 +01:00
Enno Rehling
52edf15cec CID 22438 Unchecked return value from library 2015-11-05 08:57:56 +01:00
Enno Rehling
64e8d4b094 CID 22484 Explicit null dereferenced 2015-11-05 08:50:01 +01:00
Enno Rehling
744246ab34 CID 22498 Missing break in switch 2015-11-05 08:48:03 +01:00
Enno Rehling
ba69f72116 CID 22502 Argument cannot be negative
these curses macros are hard to decipher, I think this may be a kind of false positive because stdscr is always not-null?
2015-11-05 08:40:09 +01:00
Enno Rehling
f83e71e99a 22483 Dereference after null check 2015-11-05 08:36:32 +01:00
Enno Rehling
c68829029b 22485 Dereference after null check 2015-11-05 08:35:03 +01:00
Enno Rehling
b81e56d306 CID 22486 Dereference after null check 2015-11-05 08:32:21 +01:00
Philipp Dreher
d5f8448d7d changed the handling of an item the unit has no access to
Since the return of display_item() implies that the item, which is
definitely an item but not a potion at this point, is neither in the
inventory of the unit nor an item in the region or the faction's item
pool, the existing message 36 is now triggered in this case and the
previously conditional break is now done indepent of the outcome of
display_item, which shouldn't be critical (it's  an item so it can't be
a spell or a race).
2015-11-04 23:48:30 +01:00
Enno Rehling
b6190b5193 CID 22527 Resource leak 2015-11-04 19:20:34 +01:00
Enno Rehling
4d1f2327fe CID 22545: Leak of memory or pointers to system resources
github issue #335
volcano destruction was not causing a resuction in wages etc., because we forgot to add the attribute to the region.
2015-11-04 19:13:15 +01:00
Enno Rehling
c9f886078b CID 22452 'Constant' variable guards dead code
github issue #353 there is no a_fshidden attribute.
2015-11-04 19:08:45 +01:00
Enno Rehling
075de3c919 math is hard, typing is harder. bugfix. thank you, valgrind my friend. 2015-11-04 15:00:15 +01:00
Enno Rehling
67e2eafbcf add missing include (MSVC is not picky enough) 2015-11-04 14:55:13 +01:00
Enno Rehling
10f2dd2d6e CID 22497 Missing break in switch
make this code easier to read, favor if over switch
2015-11-04 14:52:10 +01:00
Enno Rehling
65f1574312 CID 22490 Dereference after null check 2015-11-04 14:27:38 +01:00
Enno Rehling
0271336428 CID 22494 Identical code for different branches 2015-11-04 14:24:44 +01:00
Enno Rehling
6e31751731 CID 22542 Resource leak
Fix broken error mesasge: "Die Einheit hat diesen Gegenstand zwar, aber sämtliche $int($reservation) $resource($resource,$reservation) sind reserviert."
2015-11-04 14:22:45 +01:00
Enno Rehling
0a5bd9d356 22480 Dereference after null check 2015-11-04 14:19:43 +01:00
Enno Rehling
eea0186601 22440 Unchecked return value from library
rewrite log rotation, check errors
2015-11-04 14:16:15 +01:00
Enno Rehling
30cc5405ae CID 22467: Division or modulo by zero
github issue #348
2015-11-04 12:59:03 +01:00
Enno Rehling
8ab4784e3f Merge branch 'coverity-scan' of https://github.com/ennorehling/eressea into ennorehling-coverity-scan
Conflicts:
	src/kernel/jsonconf.c
	src/kernel/save.h
	src/names.c
2015-11-04 12:44:45 +01:00
Enno Rehling
45b6de9c0d CID 22468 Division or modulo by zero 2015-11-04 12:30:46 +01:00
Enno Rehling
8bc44d82ed CID 22500 Argument cannot be negative 2015-11-04 12:29:51 +01:00
Enno Rehling
5887e8e48f CID 22434 Ignoring number of bytes read 2015-11-04 12:19:16 +01:00
Enno Rehling
b7b1ae43c2 CID 22493 Dereference after null check
CID 22458 Logically dead code
github issue #361
2015-11-04 12:16:52 +01:00
Enno Rehling
1a715d6736 CID 22493 Dereference after null check 2015-11-04 12:14:12 +01:00
Enno Rehling
657f5044e5 CID 22495 Identical code for different branches 2015-11-04 12:11:26 +01:00
Enno Rehling
9d4489972b CID 22447 Calling risky function
github issue #336
2015-11-04 12:09:45 +01:00
Enno Rehling
c090f8e1f4 CID 22441 Unchecked return value from library 2015-11-04 12:03:26 +01:00
Enno Rehling
d6cd1feb48 CID 22456: 'Constant' variable guards dead code
github issue #360
prayers sind ein feature, das nie fertig entwickelt wurde
2015-11-04 11:59:17 +01:00
Enno Rehling
978dd1400f CID 22465 Division or modulo by zero 2015-11-04 11:57:13 +01:00
Enno Rehling
a02b5f343e CID 22488 Dereference after null check 2015-11-04 11:55:04 +01:00
Enno Rehling
47f678d2a3 CID 22436 Ignoring number of bytes read, github issue #333 2015-11-04 11:51:19 +01:00
Enno Rehling
731dac3363 CID 22437 Unchecked return value from library
github issue #332
2015-11-04 11:45:13 +01:00
Enno Rehling
87a47e241c CID 22479 Dereference after null check
CID 22478 Dereference after null check
CID 22477 Dereference after null check
CID 22476 Dereference after null check
CID 22475 Dereference after null check
2015-11-04 11:23:57 +01:00
Enno Rehling
d4ff807c20 Merge pull request #364 from ennorehling/coverity-fixes
several smaller coverity fixes
2015-11-04 11:04:32 +01:00
Enno Rehling
024e4c45ca fix a bug introduced by f78fe842 (CID 22443) 2015-11-04 10:40:53 +01:00
Enno Rehling
c57668e6ee failing test for newly discovered storage problems 2015-11-04 09:48:51 +01:00
Enno Rehling
dedbd67d07 re-apply fix for CID 22551: dereference before null check (merge conflict) 2015-11-04 09:36:09 +01:00
Enno Rehling
0be8724093 CID 22475 Dereference after null check 2015-11-04 07:56:19 +01:00
Enno Rehling
04b5bc0c60 CID 22474 Evaluation order violation 2015-11-03 23:19:35 +01:00
Enno Rehling
7efda5f967 CID 22468 Division or modulo by zero 2015-11-03 23:18:56 +01:00
Enno Rehling
1f055b3175 CID 22466 Division or modulo by zero 2015-11-03 23:17:11 +01:00
Enno Rehling
103c480c91 CID 22465 Division or modulo by zero 2015-11-03 23:15:26 +01:00
Enno Rehling
1093a23d5a CID 22464 Division or modulo by zero 2015-11-03 23:14:06 +01:00
Enno Rehling
876e4122b1 CID 22463 Division or modulo by zero 2015-11-03 23:13:04 +01:00
Enno Rehling
fff40f048b CID 22462 Division or modulo by zero 2015-11-03 23:11:34 +01:00
Enno Rehling
e6973ff394 CID 22445 Unchecked return value 2015-11-03 23:05:44 +01:00
Enno Rehling
f78fe84216 CID 22443 Ignoring number of bytes read 2015-11-03 23:03:40 +01:00
Enno Rehling
870d42ccfe CID 22442 Unchecked return value from library 2015-11-03 23:01:09 +01:00
Enno Rehling
307c5ec85b CID 22435 Unchecked return value from library 2015-11-03 22:56:05 +01:00
Enno Rehling
0c5ef21c10 CID 22434 Ignoring number of bytes read
also potential missing  null-termination
2015-11-03 22:53:19 +01:00
Enno Rehling
154c2076a2 fixing bug 2149: projectile armor shall only protect against projectiles
https://bugs.eressea.de/view.php?id=2149
2015-11-03 19:12:40 +01:00
Enno Rehling
cfc31c6598 provide a failing test for issue 2149 2015-11-03 19:11:03 +01:00
Enno Rehling
f959f43f1e extensive tests for armor calculation 2015-11-03 18:59:09 +01:00
Enno Rehling
cc89e9c9da fix crash when rules do not define a unicorn item 2015-11-03 17:33:44 +01:00
Enno Rehling
15ff621cbb refactor: extract damage calculation from terminate
start writing tests (WIP)
2015-11-03 14:22:50 +01:00
Enno Rehling
91a6324a97 cleanup: functions do not need to be dereferenced with an & in C. 2015-11-03 13:30:34 +01:00
Enno Rehling
7e81b98fa4 Merge pull request #339 from TurnerSE/improvement/CID22481
Improvement/cid22481
2015-11-03 13:08:03 +01:00
Enno Rehling
4052f52472 Merge pull request #345 from TurnerSE/bug/#2145
Bug/#2145
2015-11-03 13:04:28 +01:00
Enno Rehling
ae28cbd7c3 Merge branch 'enhancement/airship_refactoring' of https://github.com/TurnerSE/server into TurnerSE-enhancement/airship_refactoring
Conflicts:
	src/spells/shipcurse.c
2015-11-03 13:02:42 +01:00
Philipp Dreher
5178bbd674 moved application of armor-penetration
halfed armor now includes the effect of natural armor, but not the
effect of magic armor
2015-11-03 00:05:55 +01:00
Philipp Dreher
bf42143b11 Revert "WIP new test for armor penetration"
This reverts commit dab8bdf7ef.
2015-11-03 00:01:10 +01:00
Philipp Dreher
0e83cc69d3 missed a spot... 2015-11-02 18:27:07 +01:00
Philipp Dreher
c2a8c32be0 forgot fwd-declaration of structs... 2015-11-02 18:08:35 +01:00
Philipp Dreher
07fd3dc970 formal correction 2015-11-02 18:06:19 +01:00
Philipp Dreher
30dce18697 small formal corrections 2015-11-02 17:58:14 +01:00
Philipp Dreher
96ccb046ab added test-suite for flyingship.c
some general testing of the spells functionality for future maintenance
purposes
2015-11-02 17:54:23 +01:00
Enno Rehling
63541dcc5d Merge pull request #338 from TurnerSE/improvement/test_skillpotion
Improvement/test skillpotion
2015-11-02 17:38:47 +01:00
Philipp Dreher
29173887b6 test_create_castorder can take spelllparameters now too 2015-11-02 17:09:16 +01:00
Enno Rehling
01078460bb Merge pull request #343 from ennorehling/feature/bug-2143-monsters-attack-buildings
bug 2143: monsters attack buildings
2015-11-02 16:40:32 +01:00
Philipp Dreher
0e8365c802 moved convenience function for convenience
the formerly static function test_create_castorder is now available for
general usage via tests.h/.c
2015-11-02 16:12:56 +01:00
Philipp Dreher
f550431118 small documentation correction 2015-11-02 15:59:29 +01:00
Enno Rehling
0b00bfecdf Merge pull request #342 from TurnerSE/bug/CID22449
Bug/cid22449
2015-11-02 15:55:44 +01:00
Philipp Dreher
8200fdb6c2 moved files for flyingship to subdir "spells" 2015-11-02 15:40:26 +01:00
Enno Rehling
f70b385bef clean up plan_monsters and make it a bit more readable 2015-11-02 15:27:01 +01:00
Enno Rehling
072bfd3912 testin building_is_active
testing multiple units in one building
2015-11-02 15:06:30 +01:00
Enno Rehling
4bf2509fb3 test inside_building vs. overflow
fix default building capacity (should be 1 per size)
2015-11-02 14:56:58 +01:00
Enno Rehling
42ae086def unit is inisde a building also when it was not paid for 2015-11-02 14:49:48 +01:00
Enno Rehling
24ff4c301d refactor: separate building_is_active from inside_building 2015-11-02 14:18:50 +01:00
Philipp Dreher
098abcc144 internal restructuring in flyingship 2015-11-02 14:01:38 +01:00
Philipp Dreher
abd6be475f that just slipped in the commit by accident... 2015-11-02 13:55:28 +01:00
Philipp Dreher
fe0d038bf3 moved more related functionality from shipcurse.c to flyingship.c 2015-11-02 13:39:06 +01:00
Philipp Dreher
2fe95f3d61 integration of the separate if-conditions and simplification of the loop 2015-11-02 13:12:19 +01:00
Philipp Dreher
bf779fc810 removed obsolete code 2015-11-02 13:06:14 +01:00
Philipp Dreher
d93305b180 moved flying ship functionality from move.c to flyingship.c 2015-11-02 00:35:32 +01:00
Philipp Dreher
6e7510b7e9 moved flying ship functionality from spells.c and shipcurse.c to flyingship.c 2015-11-02 00:32:56 +01:00
Philipp Dreher
3fa4c18e87 added files for new module "flyingship" 2015-11-02 00:26:23 +01:00
Philipp Dreher
b107ddadf5 added assert to check the faction-pointer 2015-11-01 21:43:18 +01:00
Philipp Dreher
491e5faed9 Revert "general check for sf->faction's validity"
This reverts commit f18b5ea7d2.
2015-11-01 21:40:06 +01:00
Philipp Dreher
f18b5ea7d2 general check for sf->faction's validity
The handling of an ally without a valid faction-pointer is now skipped
in favor of a logged error.
2015-11-01 18:54:29 +01:00
Philipp Dreher
91155f509c formatting: tabs --> spaces 2015-11-01 17:38:12 +01:00
Philipp Dreher
dab8bdf7ef WIP new test for armor penetration 2015-11-01 17:15:11 +01:00
Philipp Dreher
b6443e40ba reanimated dead code 2015-11-01 17:14:51 +01:00
Enno Rehling
0b098dede6 remove invalid tests. uninitialized locales do not have default words 2015-11-01 05:35:10 +01:00
Philipp Dreher
bebc92f82d expansion of the skillpotion-test
test now checks the effect of the potion on the week-counter of
sufficiently high skills
2015-10-31 19:03:15 +01:00
Enno Rehling
fbf483fb4e CID 22518: Parse warning (PW.PARAM_SET_BUT_NOT_USED) 2015-10-30 15:21:06 +01:00
Enno Rehling
21a2313e2a CID 22517: Parse warning (PW.PARAM_SET_BUT_NOT_USED) 2015-10-30 15:20:06 +01:00
Enno Rehling
a91a0f6a53 CID 22514: Out-of-bounds read (OVERRUN) 2015-10-30 15:17:39 +01:00
Enno Rehling
0da10ea490 CID 22513: Out-of-bounds read (OVERRUN) 2015-10-30 14:41:52 +01:00
Enno Rehling
674bc2b4c7 nope, the ticket is actually required. 2015-10-30 12:58:27 +01:00
Enno Rehling
e7ca5345d7 CID 22509: Dereference null return value (NULL_RETURNS)
potential problems at the edge of the map.
2015-10-30 12:57:07 +01:00
Enno Rehling
8f7f182c91 CID 22507: Dereference null return value (NULL_RETURNS)
checking fopen results
2015-10-30 12:55:30 +01:00
Enno Rehling
d6bc1c3119 CID 22506: Dereference null return value (NULL_RETURNS)
always check fopen success
2015-10-30 12:54:07 +01:00
Enno Rehling
204b4d6b93 CID 22505: Dereference null return value (NULL_RETURNS)
potential bugs at the edge of the map
2015-10-30 12:52:18 +01:00
Enno Rehling
1df0afc58a CID 22550: Dereference before null check (REVERSE_INULL) 2015-10-30 12:50:32 +01:00
Enno Rehling
1d204b12f1 CID 22549: Dereference before null check (REVERSE_INULL) 2015-10-30 12:49:37 +01:00
Enno Rehling
e1eb5098d4 CID 22554: Improper use of negative value (REVERSE_NEGATIVE)
I believe this was a false positive, but more asserts can never hurt.
2015-10-30 12:40:48 +01:00
Enno Rehling
93b7bacff5 CID 22552: Dereference before null check (REVERSE_INULL) 2015-10-30 12:37:27 +01:00
Enno Rehling
54304af182 allocate space for null terminator 2015-10-30 12:08:09 +01:00
Enno Rehling
7fa12ae3af CID 22556: String not null terminated (STRING_NULL)
add missing null-termination
2015-10-30 11:59:05 +01:00
Enno Rehling
68f8f0830e CID 22561: Copy into fixed size buffer (STRING_OVERFLOW) 2015-10-30 11:45:20 +01:00
Enno Rehling
be0563c1f0 CID 22560: Copy into fixed size buffer (STRING_OVERFLOW) 2015-10-30 11:43:45 +01:00
Enno Rehling
5d273e475e CID 22558: Copy into fixed size buffer (STRING_OVERFLOW)
bsdstring buffer size check
2015-10-30 11:41:59 +01:00
Enno Rehling
1fb04179dc CID 22557: Copy into fixed size buffer (STRING_OVERFLOW)
eliminate code duplication. bsdstring is better than libc strings.
2015-10-30 11:39:47 +01:00
Enno Rehling
ca7d25858e CID 22563: Copy into fixed size buffer (STRING_OVERFLOW)
bsdstring to the rescue, once again
2015-10-30 11:16:09 +01:00
Enno Rehling
0de6e5ecb8 CID 22564: Copy into fixed size buffer (STRING_OVERFLOW)
buffer sizes => bsdstring.h
2015-10-30 11:13:48 +01:00
Enno Rehling
df82a9795d CID 22565: Copy into fixed size buffer (STRING_OVERFLOW)
bsdstring to the rescue
2015-10-30 11:11:54 +01:00
Enno Rehling
b8d7fa5bcc CID 22567: Copy into fixed size buffer (STRING_OVERFLOW)
bsdstring replacements, again
2015-10-30 11:09:28 +01:00
Enno Rehling
51f66b8da8 CID 22568: Copy into fixed size buffer (STRING_OVERFLOW)
more bsdstring replacements
2015-10-30 11:06:24 +01:00
Enno Rehling
e69635d697 CID 22569: Copy into fixed size buffer (STRING_OVERFLOW)
bsdstring functions are the best.
2015-10-30 11:02:51 +01:00
Enno Rehling
4ee0f76927 CID 22570: Copy into fixed size buffer (STRING_OVERFLOW)
not only that, but strlcpy is the faster option here, too.
2015-10-30 10:57:52 +01:00
Enno Rehling
2f82cccea1 CID 22571: Copy into fixed size buffer (STRING_OVERFLOW)
replace strcat with strlcat
2015-10-30 10:55:06 +01:00
Enno Rehling
05ef6deb26 CID 22572: Copy into fixed size buffer (STRING_OVERFLOW) 2015-10-29 20:47:07 +01:00
Enno Rehling
4e431b41e2 CID 22575 (#2-1 of 2): Copy into fixed size buffer (STRING_OVERFLOW) 2015-10-29 20:45:36 +01:00
Enno Rehling
d3f7bd7b10 CID 22597: va_start/va_end mismatch 2015-10-29 20:43:37 +01:00
Enno Rehling
4eb6a89821 CID 26262: short and unsigned types are the devil, use int everywhere for fewer headaches 2015-10-29 20:39:44 +01:00
Enno Rehling
b3edd8dc5a anerror in this bugfix was found by a lua test. sweet! 2015-10-29 18:55:47 +01:00
Enno Rehling
3bf5ba14bb CID 26252: Memory - illegal accesses (BUFFER_SIZE_WARNING)
Calling strncpy with a maximum size argument of 5 bytes on destination array "code" of size 5 bytes might leave the destination string unterminated.
2015-10-29 16:51:39 +01:00
Enno Rehling
1a252bc994 CID 26253: Control flow issues (DEADCODE)
transformations gone wrong in previous commit
2015-10-29 16:50:55 +01:00
Enno Rehling
6113bc2144 CID 26254: Incorrect expression (DIVIDE_BY_ZERO)
magic should never be zero, but coverity doesn't know that.
2015-10-29 16:46:43 +01:00
Enno Rehling
7a01b58e8d CID 26255: Null pointer dereferences (FORWARD_NULL) 2015-10-29 16:43:09 +01:00
Enno Rehling
0a67d53264 CID 26256: (NULL_RETURNS) 2015-10-29 16:41:53 +01:00
Enno Rehling
833a1e70be CID 26257: Null pointer dereferences (NULL_RETURNS)
this test should never fire, but it shuts up coverity
2015-10-29 16:40:18 +01:00
Enno Rehling
9d9994811a CID 26258: (NULL_RETURNS)
deal with bad connection data, static analysis doen't knwo that we never have that.
2015-10-29 16:38:29 +01:00
Enno Rehling
b7dce8071c CID 26259: Memory - corruptions
I apparently don't know how strncat works.
2015-10-29 16:36:20 +01:00
Enno Rehling
59069ae342 CID 26260: Resource leaks (RESOURCE_LEAK) 2015-10-29 16:28:59 +01:00
Enno Rehling
db6e9444d6 CID 26263: Memory - illegal accesses (UNINIT) 2015-10-29 16:27:10 +01:00
Enno Rehling
5f4c31af1c bad variable reuse leads to gcc confusion 2015-10-29 12:04:52 +01:00
Enno Rehling
8b6da79984 64 bit compatibility, thank you gcc. 2015-10-29 11:32:04 +01:00
Enno Rehling
4f25831407 coverity scan CID 22576: arguments in wrong order
I believe that was a false positive, and will try to aquelch it by naming the arguments better.
2015-10-29 11:24:01 +01:00
Enno Rehling
4384183ab8 coverity scan CID 22504: argument cannot be negative
handle error cases for ftell, just because they could happen, I guess?
2015-10-29 11:20:09 +01:00
Enno Rehling
976b6aaea1 coverity CID 22593: write to pointer after free
github issue #324
use free_land where we need it.
2015-10-29 11:17:31 +01:00
Enno Rehling
c298b7fd74 coverity CID 22501 imroper use of negative value
explicitly use SK_MAGIC instead of a lookup. Faster, easier to reason about.
2015-10-29 11:06:25 +01:00
Enno Rehling
8675002e68 coverity scan CIDs 22540 22541 22546: resource leak
the calendar should only ever be initialized once, but based on static analysis, I agree that this was sloppy.
2015-10-29 09:56:53 +01:00
Enno Rehling
2372d3aacd coverity scan CID 22516: out-of-bounds write
potentially a bug with bad XML files? only matters if we have those, but we shouldn't
2015-10-29 09:49:26 +01:00
Enno Rehling
8b92003fff coverity scan CID 22487: dereference after null check
we don't use many differnt calendars, so this has never happened.
2015-10-29 09:43:51 +01:00
Enno Rehling
e27c4b4164 coverity scan CID 22457: logically dead code
the original TEACH_FRIENDS feature could not possibly have worked?
2015-10-29 09:39:33 +01:00
Enno Rehling
f4c32acd05 coverity scan CID 22515: out-of-bounds access
increase buffer to stop coverity false positive
2015-10-29 09:32:31 +01:00
Enno Rehling
55b3bfd90e coverity scan CID 22574: copy into fixed size buffer
zOrder *should* probably be big enough, but static analysis says safe is safe.
2015-10-29 09:28:02 +01:00
Enno Rehling
6ebfd33478 coverity scan CID 22503: negative array index write 2015-10-29 09:24:58 +01:00
Enno Rehling
c7aa8c89b1 coverity scan CID 22551: dereference before null check 2015-10-29 09:22:00 +01:00
Enno Rehling
4da658584c coverity scan CID 22511: dereference null return value 2015-10-29 09:20:58 +01:00
Enno Rehling
178a740ecf coverity scan CID 22573: copy into fixed-size buffer
in theory, all IDs in the game should be no longer than 4 characters, but coverity doesn't know this.
2015-10-29 09:17:23 +01:00
Enno Rehling
78899ca801 coverity scan CID 22433: buffer not null terminated, prefer strlcpy over strncpy 2015-10-29 09:06:53 +01:00
Enno Rehling
04bf07a526 coverity scan (multiple CID) is confuced about a_remove, trying to help it. 2015-10-29 09:06:52 +01:00
Enno Rehling
65429a12c3 coverity scan CID 22585, 22586: result is not floating point 2015-10-29 09:06:51 +01:00
Enno Rehling
70d4a6af03 coverity scan CID 22553: dereference before null check 2015-10-29 09:06:50 +01:00
Enno Rehling
e60b739ea4 coverity scan CID 22448: logically dead code 2015-10-29 09:06:48 +01:00
Enno Rehling
f72314e915 coverity scan CID 22451 (logically dead code) 2015-10-29 09:06:47 +01:00
Enno Rehling
6cccdec4a2 coverity scan CID 22454 (logically dead code) 2015-10-29 09:06:46 +01:00
Enno Rehling
0328e84c6c coverity scan CID 22555: sizeof not portable
wrong type in sizeof (pointer instead of struct)
2015-10-29 09:06:43 +01:00
Enno Rehling
185a2ee29c Merge pull request #321 from ennorehling/feature/fixme-base36-static
eliminate static variable leak and allocation from base36
2015-10-27 13:30:12 +01:00
Enno Rehling
f80f37def3 eliminate static variable leak and allocation from base36 2015-10-27 12:48:34 +01:00
Enno Rehling
feb915fe4a eliminate deprecated reporting function, static variable 2015-10-27 12:40:04 +01:00
Enno Rehling
e3572ef14e eliminate deprecated call 2015-10-27 12:40:04 +01:00
Enno Rehling
e23a7fc87d deprecate report_kampfstatus and implement a replacement function. 2015-10-27 12:40:04 +01:00
Enno Rehling
f2b0ba1ec6 eliminate find_spell warning for games where nobody is cursed, and you cannot summon igjarjuk 2015-10-27 12:40:03 +01:00
Enno Rehling
b771ec9aab test-only leak: do some json surgery and delete the entire tree from the export 2015-10-15 09:06:44 +02:00
Enno Rehling
47e925473e always use a macro, not magical constants 2015-10-15 08:40:52 +02:00
Enno Rehling
c9e7a76d9b minor leak: release memory held by curse_type structures 2015-10-15 08:38:43 +02:00
Enno Rehling
d4655ee88a leak: do not create new message_type objects in test_cleanup 2015-10-15 08:29:20 +02:00
Enno Rehling
d79745812a unit needs to be in a region or test_cleanup will not free it 2015-10-14 22:19:15 +02:00
Enno Rehling
467ce2a719 visual studio compilation fix 2015-10-14 22:09:11 +02:00
Enno Rehling
ef1a2dfc4f fixed a crash 2015-10-14 22:06:40 +02:00
Enno Rehling
3200dd2dc8 leak: free locale_data 2015-10-14 21:51:43 +02:00
Enno Rehling
b5455531e7 do not leak terrain.herbs 2015-10-14 21:37:27 +02:00
Enno Rehling
c04bda102b call free_order for each remaining reference 2015-10-14 20:56:09 +02:00
Enno Rehling
a3b27ad6d2 leak: remember to call test_cleanup 2015-10-14 20:49:30 +02:00
Enno Rehling
03ff8f612d leaks: remember to call test_cleanup 2015-10-14 20:48:01 +02:00
Enno Rehling
284a74c878 leak: deleting a config entry did not free its name 2015-10-14 20:45:43 +02:00
Enno Rehling
f740f2829a leak: in tests, when correct message_type doesn't exist, arguments should not leak 2015-10-14 20:41:42 +02:00
Enno Rehling
144aeb23ac leaks: call cleanup, free triggers 2015-10-14 20:29:07 +02:00
Enno Rehling
0f32630590 leak: release message in test 2015-10-14 20:22:51 +02:00
Enno Rehling
5018bbb0c0 correctly release messages created in test_merge_split 2015-10-14 20:21:38 +02:00
Enno Rehling
203b058166 avoid memory leaks when running with --list 2015-10-14 20:04:03 +02:00
Enno Rehling
47eee29813 correct argument count 2015-10-14 18:40:37 +02:00
Enno Rehling
5d192cb4c9 fix compile: gcc is extra picky about const char** conversions. 2015-10-14 18:38:10 +02:00
Enno Rehling
ba0828afd4 rather complex implementation of selective test running (CuTest does not have this feature). 2015-10-14 18:34:41 +02:00
Enno Rehling
e6f2864327 leak: duplicate assignment to building_type.name in tests 2015-10-14 14:10:35 +02:00
Enno Rehling
2abdba9e8a refactor free_messagelist, fix leak in test_merge_split 2015-10-14 14:08:50 +02:00
Enno Rehling
1c2922aafa leak: spell names and other strings need to be released. 2015-10-14 13:58:55 +02:00
Enno Rehling
5f9c2e13a8 I hate umlaut.c, it's basically magic, and the magic doesn't work right (it leaks memory from line 158) 2015-10-14 13:56:19 +02:00
Enno Rehling
cd9cb24b48 extend test_umlaut a bit, which doesn't trigger issue #316 2015-10-14 13:42:12 +02:00
Enno Rehling
78a8795305 there is a bug in umlaut.c, adding a FIXME.
this happens during test_umlaut, and valgrind detects it.
2015-10-14 13:33:10 +02:00
Enno Rehling
254cda86e8 short commands speedup wasn't working (never got assigned) 2015-10-14 13:20:27 +02:00
Enno Rehling
4fc5ac7740 there is a memory leak in test_long_order_hungry, but the root cause lies deeper 2015-10-14 12:51:45 +02:00
Enno Rehling
469d312339 leak: test must free castorder and call cleanup 2015-10-14 12:23:58 +02:00
Enno Rehling
bdf4834dc2 leak: region_owner data was never released 2015-10-14 12:22:37 +02:00
Enno Rehling
8e9e9c9c0f eliminate leak from duplicate call to test_create_buildingtype 2015-10-14 12:21:13 +02:00
Enno Rehling
ae3210ec87 pervious commit did not compile: small copy/paste error 2015-10-14 12:14:33 +02:00
Enno Rehling
2c659c1f47 memory leak: free building maintenance data 2015-10-14 12:13:05 +02:00
Enno Rehling
1fc5273f63 memory leak: bad call to register_buildings, replace test_create_world. 2015-10-14 12:09:35 +02:00
Enno Rehling
2b59922d8d memory leak: tests should call cleanup instead of trying to restore original state 2015-10-14 12:05:29 +02:00
Enno Rehling
acda22ae1b leak: free route at the end of the test 2015-10-14 12:03:19 +02:00
Enno Rehling
3cfb22876b memory leak: free params after test 2015-10-14 12:01:33 +02:00
Enno Rehling
20c9fb60dc release additional reference to recruit order 2015-10-14 11:58:54 +02:00
Enno Rehling
f0671aafda leak: some tests were leaking seen_factions becaus they don't call destroyfaction or render reports 2015-10-13 23:33:11 +02:00
Enno Rehling
66dd7e2320 eliminate unused variable warning (gcc) 2015-10-13 23:27:13 +02:00
Enno Rehling
a3210aaed7 leak: free per-locale cached order data (has additional refcount) 2015-10-13 23:25:44 +02:00
Enno Rehling
377b0d0305 leak: teardown build tests, free construction data 2015-10-13 23:09:50 +02:00
Enno Rehling
f4f038c23c leak: free strlist result of split_paragraph 2015-10-13 23:06:33 +02:00
Enno Rehling
24f1f82e93 release order reference used to create castorder, message 2015-10-13 23:02:01 +02:00
Enno Rehling
a6ca489d9a free multi-level construction correctly, avoid duplication 2015-10-13 22:56:16 +02:00
Enno Rehling
26f5b592bd leak: free construction materials 2015-10-13 22:41:54 +02:00
Enno Rehling
457465b4a2 memory leak: free message_list objects 2015-10-13 22:37:45 +02:00
Enno Rehling
333c27403f memory leaks: ship_type.construction, give_cmd return values 2015-10-13 22:34:22 +02:00
Enno Rehling
cd1467f668 cleanup: test_create_world is lazy 2015-10-13 22:31:03 +02:00
Enno Rehling
c70d987c09 memory leak: free weapon data 2015-10-13 22:27:43 +02:00
Enno Rehling
0facb386a8 memory leaks: call test_cleanup, free strlist, free message 2015-10-13 22:21:05 +02:00
Enno Rehling
d264c454b8 memory leak: building_type::construction was never released 2015-10-13 22:13:50 +02:00
Enno Rehling
1f1850dafc memory leak: always cleanup at the end of a test that creates game data. 2015-10-13 22:11:45 +02:00
Enno Rehling
7c2c520911 memory leak: at_travelunit contains a quicklist, needs custom cleanup code. 2015-10-13 22:09:41 +02:00
Enno Rehling
7e9c36b599 memory leak: free spell components and spells at exit 2015-10-13 22:02:58 +02:00
Enno Rehling
67135c8ea3 avoid triggering null-pointer assert 2015-10-13 21:50:23 +02:00
Enno Rehling
2f35246f8c memory leak: when freeing factions, also free their spellbooks 2015-10-13 21:47:45 +02:00
Enno Rehling
ff0bbce4f9 weird things happen when you name locales something else? 2015-10-13 21:30:10 +02:00
Enno Rehling
9f6fa5b948 Merge branch 'feature/tests-leaks' of github.com:ennorehling/eressea into feature/tests-leaks 2015-10-13 21:26:56 +02:00
Enno Rehling
6de8e4466a stop memory leak from function registry. 2015-10-13 21:26:48 +02:00
Enno Rehling
3741a19437 prevent memory leak of cJSON structures in tests 2015-10-13 21:21:31 +02:00
Enno Rehling
422476409c eliminate memory leak from locales 2015-10-13 20:58:03 +02:00
Enno Rehling
5c8a68e1de always call seen_done to eliminate memory leaks in tests. 2015-10-13 16:05:32 +02:00
Enno Rehling
7854684d8b fix memory leaks in all tests that create an order without calling free_order at the end. 2015-10-13 15:45:38 +02:00
Enno Rehling
96be12218e test rename with missing name (not crashing, error message) 2015-10-13 14:27:42 +02:00
Enno Rehling
6de604701d add some test coverage for name_cmd (not covering all error cases yet) 2015-10-13 13:56:58 +02:00
Enno Rehling
177f8f5288 re-enable a test that supposedly breaks on travis (find out why)
fix a potential null-pointer crash in rename_cmd
2015-10-13 13:32:27 +02:00
Enno Rehling
7e2364c296 test for actual piracy ship movement
refactor storm check, run less code when disabled
fix ship creation in tests
2015-10-12 19:40:20 +02:00
Enno Rehling
d252286f4c refactor: extract function parse_ids for readability 2015-10-12 18:54:47 +02:00
Enno Rehling
4c028bceac the early beginnings of a test for piracy
extract validation message from piracy_cmd
fix a SAIL/SWIM check inconsistency
2015-10-12 16:30:56 +02:00
Enno Rehling
dcf6c28b0e testing all the error cases for PIRACY 2015-10-12 13:27:39 +02:00
Enno Rehling
678169d7d4 add skeleton test suite for piracy 2015-10-12 11:54:59 +02:00
Enno Rehling
521519805d refactor piracy code into a module, separate from move. 2015-10-11 21:19:38 +02:00
Enno Rehling
936c201d0b Merge pull request #312 from eressea/master
pull latest changes from master into develop
2015-10-11 16:47:29 +02:00
Enno Rehling
6a074fd294 only disable MSVC2015 warnings in MSVC2015, do not break confuse compilers. 2015-10-11 14:39:51 +02:00
Enno Rehling
e8880db447 get the code to compile under vs2015 (disable warnings) 2015-10-11 14:39:43 +02:00
Enno Rehling
c47c9dbf64 add mail_cmd tests for FACTION 2015-10-11 12:54:27 +02:00
Enno Rehling
403b8a2e7e add mail_cmd tests for REGION 2015-10-11 12:44:22 +02:00
Enno Rehling
070ed1a941 clean up hastily written tests, eliminate duplicate code 2015-10-11 12:38:05 +02:00
Enno Rehling
9e49e10d11 Merge branch 'master' into develop
Conflicts:
	src/buildno.h
	src/kernel/unit.test.c
2015-10-10 22:55:29 +02:00
Enno Rehling
99c385412a fix crash in mail_cmd when order is missing a message 2015-10-10 22:50:15 +02:00
Enno Rehling
7f81cee36d Merge pull request #305 from ennorehling/feature/log-reduce
reduced log spam in cron emails
2015-09-28 12:27:04 +02:00
Enno Rehling
3eead446d0 reduce cron log spam 2015-09-26 22:42:22 +02:00
Enno Rehling
d153846769 test: ageing ship trails works as expected. cannot find a bug here.
Conflicts:
	src/move.test.c
2015-09-25 14:10:25 +02:00
Enno Rehling
f07802bab5 add a test to check that move_ship creates a trail when given a route
Conflicts:
	src/move.test.c
2015-09-25 14:09:22 +02:00
Enno Rehling
f018016feb rename hunt to follow_ship, because why was it ever called anything else? 2015-09-25 14:06:18 +02:00
Enno Rehling
ae513c5f23 Merge branch 'hotfix/bug-2138-familiarmage' of github.com:ennorehling/eressea into hotfix/bug-2138-familiarmage 2015-09-23 18:31:46 +02:00
Enno Rehling
1028539adb version number increase 2015-09-23 18:29:18 +02:00
Enno Rehling
84a92124bd Merge branch 'feature/bug-2053-attack-monsters' of https://github.com/ennorehling/eressea into ennorehling-feature/bug-2053-attack-monsters
Conflicts:
	conf/e3/config.xml
2015-09-19 13:35:53 +02:00
Enno Rehling
e217a4b550 age_unit accidentally returned AT_AGE_REMOVE (caused by a recent change to curse_age) 2015-09-14 22:58:12 +02:00
Enno Rehling
3a1444f378 backport (failing) at_familiarmage test from 3.7 branch 2015-09-14 17:38:58 +02:00
Enno Rehling
23a7ed59ac backport familiar skill test from 3.7 development 2015-09-14 17:17:29 +02:00
Enno Rehling
90bcf30628 fix bad terrain definitions in E2 (string, not number: these values are used for dice throws).
clean up the jsonconf.c code for reading these a little bit, report more specific errors.
2015-09-13 09:46:40 +02:00
Enno Rehling
71c4cb53c0 add missing guard.h include everywhere, remove duplicate prototypes from config.h 2015-09-12 23:41:37 +02:00
Enno Rehling
dd9420fc38 move at_guard into guard module as well 2015-09-12 23:38:31 +02:00
Enno Rehling
3055f517dc move guard implementation into a module (WIP) 2015-09-12 22:53:54 +02:00
Enno Rehling
5f7b9129bc Merge branch 'master' into develop
Conflicts:
	tests/runtests.bat
2015-09-12 22:47:33 +02:00
Enno Rehling
a027139057 remove global variable verbosity in favor of static in main.c (use log_* functions everywhere) 2015-09-12 20:58:09 +02:00
Enno Rehling
06a04d0e20 fix logging for sp_igjarjuk, temporarily set log-levels for the game to error|warn|info
remove some code that accesses `verbosity` variable (todo: hide it more, fix logging)
2015-09-12 19:48:03 +02:00
Enno Rehling
63c983e197 Merge branch 'develop' of github.com:eressea/server into develop 2015-09-12 19:28:49 +02:00
Enno Rehling
c7a0fb5f28 development build is 3.7 2015-09-12 19:28:28 +02:00
Enno Rehling
44dd66f2fb Merge branch 'master' into develop 2015-09-12 19:27:56 +02:00
Enno Rehling
28f17b6a08 release version 3.6.3 2015-09-12 19:27:11 +02:00
Enno Rehling
7259a4b45e remove parse_main from xmlreader, everything superseeded by jsonconf 2015-09-12 18:16:23 +02:00
Enno Rehling
1e75255d51 allow disabling skills through json 2015-09-12 17:43:31 +02:00
Enno Rehling
a01955e06a disable features by name that are not keywords 2015-09-12 17:37:29 +02:00
Enno Rehling
c76b118fb8 eliminate game/order from XML data 2015-09-12 17:12:02 +02:00
Enno Rehling
44eb3a4f58 disable keywords through JSON configuration 2015-09-12 17:06:55 +02:00
Enno Rehling
32ff7c89bc Merge pull request #296 from ennorehling/feature/config-producexpchance
Bug 2137: calculating produceexp correctly
2015-09-12 16:52:55 +02:00
Enno Rehling
7906cdbcb6 do not read gamename from XML, read it from JSON only (two mechanisms for the same feature are too many) 2015-09-12 16:49:18 +02:00
Enno Rehling
d65e9aaf94 eliminate xml reading of produceexp chance 2015-09-12 16:42:02 +02:00
Enno Rehling
8a95ea0c00 speeding up produceexp_chance 2015-09-12 16:41:22 +02:00
Enno Rehling
9bdc811582 produceexp uses a json-configurable constant
make get_param_flt return a double, floats are for wimps.
2015-09-12 16:38:51 +02:00
Enno Rehling
68c448b3fb fix signature of callback 2015-09-12 16:29:57 +02:00
Enno Rehling
d1686849e0 refactoring: move produceexp into unit module, for want of a better one. add a bit of test coverage.
https://bugs.eressea.de/view.php?id=2137 - fix learning-by-doing with less than u->number people.
2015-09-12 16:25:47 +02:00
Enno Rehling
c704cd5784 release version 3.6.2 2015-09-12 15:41:25 +02:00
Enno Rehling
9563aa712f eliminate junk function 2015-09-12 14:16:18 +02:00
Enno Rehling
42f1030251 separate test script for E4:
even though it has mostly the same rules, it does not have xmastrees, and loads a different config
remove dead `inactivefaction` function, we have no use for the file it creates.
2015-09-12 14:10:08 +02:00
Enno Rehling
aa32cf190e remove xmlreader code for prefixes 2015-09-12 13:40:10 +02:00
Enno Rehling
09efd9c2a9 fix anything that uses the calendar module. opps. 2015-09-12 12:54:49 +02:00
Enno Rehling
13e1573611 moving the calendar module out of the kernel directory, it does not belong with the major game objects 2015-09-12 12:54:09 +02:00
Enno Rehling
47c95aee35 implement JSON prefixes. fix free_prefixes not resetting size (TODO: quicklist). 2015-09-12 12:49:12 +02:00
Enno Rehling
f0e255924f add a unit test for add/free prefixes. fix bad free_prefixes call site. 2015-09-12 12:41:04 +02:00
Enno Rehling
9f6b374056 add a (red) test for JSON prefixes. 2015-09-12 12:33:25 +02:00
Enno Rehling
44d982d210 free race prefixes when the game is done (small memory leak). 2015-09-12 12:29:42 +02:00
Enno Rehling
f1476c2167 refactoring: split out a module for race prefixes 2015-09-12 12:24:10 +02:00
Enno Rehling
bd51ac7dd7 eliminate terrain parsing from xmlreader.c, it's all in JSON now! 2015-09-11 22:46:47 +02:00
Enno Rehling
c57918ede0 replace XML terrains for E3 and E4 with JSON configuration 2015-09-11 22:43:08 +02:00
Enno Rehling
b4971dd651 replace all of the E2 terrains with JSON data (no more XML!) 2015-09-11 22:11:59 +02:00
Enno Rehling
7c4d18ec2d avoid an annoying division by zero when terrains are not fully initialized (size=0) 2015-09-11 21:31:59 +02:00
Enno Rehling
db4cb2618b transfer most core and all game-specific terrains for E2 from XML to JSON. 2015-09-11 21:14:10 +02:00
Enno Rehling
9df5799efd define core plain and ocean in JSON for E2. 2015-09-11 12:52:18 +02:00
Enno Rehling
a582c69523 finished and tested: terrains can be completely defined in JSON. 2015-09-11 12:27:45 +02:00
Enno Rehling
43bac506a4 fix bad size for calloc. 2015-09-11 12:25:28 +02:00
Enno Rehling
c707ff39b6 memory leak: properly free terrain_production objects 2015-09-11 12:17:35 +02:00
Enno Rehling
59e2c12605 completing the implementation of JSON terrains (WIP).
seeing a crash when trying to allocate a resource for stone in test_json_terrains.
2015-09-11 12:12:53 +02:00
Enno Rehling
8860244f1c Merge branch 'link-seen-duplicate' into feature/feature-json-terrains 2015-09-11 11:12:30 +02:00
Enno Rehling
d15d0cc0f4 remove unused xml_i function 2015-09-11 11:08:10 +02:00
Enno Rehling
cf08cdf3fb configuration type-fixes: int to bool where appropriate (possibly incomplete)
rename some rules to make it more obvious that they are flags or other integer values.
2015-09-11 10:04:08 +02:00
Enno Rehling
c5e14c85a6 read boolean json values
be smarter about reading number values that are integers
2015-09-11 09:17:07 +02:00
Enno Rehling
9bb2a625f9 fix xmlreader bug introduced by last commit (xpath->node not initialized) 2015-09-11 09:10:00 +02:00
Enno Rehling
1a7d6dd91d xmlreader no longer needs to parse settings, that's all in json now. 2015-09-10 23:29:18 +02:00
Enno Rehling
1969c165d3 allow settings in json configuration file
move E2 settings from XML to JSON
2015-09-10 23:16:17 +02:00
Enno Rehling
2b46c4c4a9 kill stray semicolon 2015-09-10 21:22:55 +02:00
Enno Rehling
f2b2dc2063 fix linux build, missing include 2015-09-09 16:48:24 +02:00
Enno Rehling
337aca9b3c remove region.donations, replace with a global list. 2015-09-09 16:47:09 +02:00
Enno Rehling
d29d38f710 refactor donations into a seaprate code module, add a basic test 2015-09-09 15:45:20 +02:00
Enno Rehling
60111282b3 make findunitr be O(1) instead of O(#r->units) 2015-09-09 13:29:58 +02:00
Enno Rehling
5faf642b9c use the same DISABLE_TEST macro everywhere. 2015-09-09 13:23:20 +02:00
Enno Rehling
6f212686f3 Merge pull request #287 from ennorehling/feature/issue-282-link-seen
eliminate duplicate call to link_seen
2015-09-09 12:41:14 +02:00
Enno Rehling
bf6f05f39d fix unused variable warning 2015-09-09 11:24:11 +02:00
Enno Rehling
cac22bcb02 Merge branch 'feature/issue-282-link-seen' of github.com:ennorehling/eressea into feature/issue-282-link-seen 2015-09-09 11:23:15 +02:00
Enno Rehling
f7c1efc287 memory error seems to be in test_write_flag (curse-hashing?), not in the new ones. 2015-09-09 11:22:35 +02:00
Enno Rehling
e5a92d6313 building on linux 2015-09-09 11:09:57 +02:00
Enno Rehling
65c39866e1 refactor: add a faction_add_seen function that also updates [first, last) interval.
add tests for add_seen.
disable test_faction_add_seen, looks like it needs a valgrind check?
2015-09-09 11:08:33 +02:00
Enno Rehling
7f9e84d68b fix neighbor seen_region collection. 2015-09-09 10:22:04 +02:00
Enno Rehling
42e51a0ec4 refactor looping through the hashtable of seen_regions into a map function. 2015-09-09 09:38:57 +02:00
Enno Rehling
3eabf082ac refactor prepare_report to extract prepare_seen, because we assume the bug is in there.
add a failing test for it to prove that bug is in here.
2015-09-09 09:04:59 +02:00
Enno Rehling
b551261b66 fix the bug that the unit test exposed. it was so simple!
still not fixing the integration test, though :-(
2015-09-08 16:35:18 +02:00
Enno Rehling
1fbbba564b add a unit test for the problem that fails (test_seen_interval_forward) 2015-09-08 16:28:47 +02:00
Enno Rehling
2e0482973e testing test_seen_interval 2015-09-08 10:17:01 +02:00
Enno Rehling
8562a6d072 add test suite for seen_region logic (empty) 2015-09-08 10:07:29 +02:00
Enno Rehling
9312b44f8e move seen_region logic to a separate seen.[hc] module for testing.
currently failing test:

  1) Failure (tests.report.test_lighthouse):
  ./scripts/tests/common.lua:1051: true expected but was false
2015-09-08 09:56:56 +02:00
Enno Rehling
d64948f0fc eliminate duplicate call to link_seen (and report_context.seen) 2015-09-07 19:48:53 +02:00
Enno Rehling
77912166bf Backfill missing tests for Bug 1818. Actual bug appears to have been fixed some time ago. 2015-09-07 14:49:57 +02:00
Enno Rehling
34580ab9fa fix test requiring a data directory (sigsegv) 2015-09-06 20:07:15 +02:00
Enno Rehling
f84133eb53 fix linux builds 2015-09-06 19:08:57 +02:00
Enno Rehling
b8df3f3a5f increase the datatype for scores from int to long long
this fixes https://bugs.eressea.de/view.php?id=2136
2015-09-06 19:04:04 +02:00
Enno Rehling
19e27930ab Merge remote-tracking branch 'upstream/master' into develop
Conflicts:
	.travis.yml
	scripts/eressea/cursed.lua
2015-09-06 13:28:08 +02:00
Enno Rehling
79663d5933 relatively simple fix to bug 1685: unit ids must start with alphanumerical characters.
https://bugs.eressea.de/view.php?id=1685
2015-09-05 19:48:25 +02:00
Enno Rehling
a2c269e805 add another failing unit test for bug 1685, closer to the core of the problem 2015-09-05 19:45:34 +02:00
Enno Rehling
3dc173b6ec add unit tests for read_unitid 2015-09-05 19:44:30 +02:00
Enno Rehling
400b8f1ffa add another failing test for bug 1685
add test for forbiddenid (cannot have a unit with id TEMP)
2015-09-05 19:25:55 +02:00
Enno Rehling
74d7caf526 remove dead code for base10->base36 conversion 2015-09-05 19:24:59 +02:00
Enno Rehling
b631f539ce simplify atoi36, it does not need to eat whitespace 2015-09-05 18:18:22 +02:00
Enno Rehling
2e3c0db02a add a failing test for bug 1685 2015-09-05 18:14:28 +02:00
Enno Rehling
552f32ff97 bugfix https://bugs.eressea.de/view.php?id=2133
era in the CR is wrong for E2
build in the CR should be a string (did not have quotes)
Lua < 5.2 does not have bit32 (and Windows build uses 5.1)
2015-09-04 14:39:44 +02:00
Enno Rehling
6d592a4460 drifting ships do not take damage (forum debate), version update 2015-08-31 12:53:24 +02:00
Enno Rehling
a00fdf9316 fix hitpoints for summoned wolves 2015-08-31 12:50:47 +02:00
Enno Rehling
94850e86cb fix hitpoints for summoned wolves 2015-08-31 11:12:45 +02:00
Enno Rehling
70aff6f567 Merge pull request #283 from ennorehling/cursed-faction
The revenge of Igjarjuk
2015-08-31 07:58:16 +02:00
Enno Rehling
8c860811e2 Summon Igjarjuk only at the start of a battle, not after. 2015-08-30 23:15:04 +02:00
Enno Rehling
d08959f9a8 fix German spelling in a message,
add a test for is_guarded.
2015-08-30 14:52:42 +02:00
Enno Rehling
acb2aed30f add message for igjarjuk effect 2015-08-30 11:01:53 +02:00
Enno Rehling
7bb882b15b add a spell for igjarjuk (WIP) 2015-08-30 10:57:08 +02:00
Enno Rehling
efca4d1979 fix last merge, signature of effskill changed 2015-08-29 15:00:59 +02:00
Enno Rehling
78cf76464a Merge pull request #281 from ennorehling/todo-cleanup
code cleanup
2015-08-29 14:09:36 +02:00
Enno Rehling
e4026e0f6b eliminate more non-critical arguments. 2015-08-27 16:59:39 +02:00
Enno Rehling
20ab40dc2b Merge branch 'todo-cleanup' of github.com:ennorehling/eressea into todo-cleanup
Conflicts:
	src/attributes/stealth.c
2015-08-27 16:54:42 +02:00
Enno Rehling
564a041b0d eliminate invalid assertions, remove unnecessary arguments (plant/breed/trees) 2015-08-27 16:53:36 +02:00
Enno Rehling
66d8e3c7ba fix linux build, kill invalid assert 2015-08-27 16:23:30 +02:00
Enno Rehling
de808bf146 change effskill signature to take a region, change eff_skill to work on a skill * to avoid multiple lookups. 2015-08-27 16:16:55 +02:00
Enno Rehling
6889cb0c80 remove superfluous argument from herbsearch
use effskill, not eff_skill
2015-08-27 14:46:08 +02:00
Enno Rehling
71dea1eca7 backfill missing tests for herbsearch (alchemy). 2015-08-27 13:19:58 +02:00
Enno Rehling
eb26cc971f Testing bufunit with skills and different viewers. 2015-08-26 21:19:14 +02:00
Enno Rehling
bc1c3dd712 move NEWATSROI out of item_modification 2015-08-26 19:59:11 +02:00
Enno Rehling
c5f4d213ce test familiar/mage connection and ageing of same. 2015-08-26 08:42:45 +02:00
Enno Rehling
b27f0787a8 test familiar skill bonus 2015-08-26 08:36:25 +02:00
Enno Rehling
4dee1744a2 write some tests around effskill and skillmod. 2015-08-26 08:22:51 +02:00
Enno Rehling
5fc1587879 age_unit accidentally returned AT_AGE_REMOVE (caused by a recent change to curse_age) 2015-08-25 22:50:58 +02:00
Enno Rehling
9586d970e8 fix bad castorder creation for combat spell (some unions are the WORST) 2015-08-22 18:51:10 +02:00
Enno Rehling
dd667aa752 cursed factions get to fight a wolfhowl if they attack (WIP) 2015-08-22 17:56:36 +02:00
Enno Rehling
4c32fe19ee eliminate some dead code that was still marked with TODO. 2015-08-21 10:54:09 +02:00
Enno Rehling
89bc83c4ab Merge branch 'master' into develop
Conflicts:
	src/bind_region.c
	src/buildno.h
	src/kernel/item.c
2015-08-20 16:58:07 +02:00
Enno Rehling
d69bf18e23 suspect some submodule shenanigans 2015-08-20 16:26:32 +02:00
Enno Rehling
853290413f fix segfault, disable intermittent test 2015-08-20 16:18:15 +02:00
Enno Rehling
f12454870f fix segfault, disable intermittent test 2015-08-20 16:17:19 +02:00
Enno Rehling
dfb0bcaccf Merge branch 'master' into develop
Conflicts:
	src/buildno.h
	src/kernel/save.c
	src/laws.c
2015-08-20 15:49:36 +02:00
Enno Rehling
1641e6ef89 remove spellbook repair code, we are done 2015-08-20 15:09:38 +02:00
Enno Rehling
469701a6ff fix linux build 2015-08-20 12:56:33 +02:00
Enno Rehling
8716e5fdc5 repair spellbooks that broke in E3 and E4 (temporary measure, remember to remove this code). 2015-08-20 12:13:09 +02:00
Enno Rehling
ff38d8bf4c I don't think it's good to call update_spells before the turn.
one should only have the spells that are in the previous week's report.
a few comments wouldn't hurt.
2015-08-20 12:12:17 +02:00
Enno Rehling
e6eb53c864 save the faction.max_spelllevel in the data file, do not recalculate it each time.
when recalculating it, include spellbook to determine max-level (dead mages may have pushed the level up).
2015-08-19 19:43:47 +02:00
Enno Rehling
fc308940b5 fix linux build 2015-08-19 14:50:24 +02:00
Enno Rehling
a9ecd1f55e replace all at_travelunit code with travelthru_map calls.
welcome to callback hell.
this should stop the buffer for travelthru from running over.
tests for this should be hell, and I still owe writing them.
2015-08-19 14:37:51 +02:00
Enno Rehling
ebe365fd6e move travelthru logic to a separate module. todo: split off the report writing from the collection of units. 2015-08-18 18:57:04 +02:00
Enno Rehling
1f4c8d5858 fix linux build, missing include 2015-08-18 17:28:07 +02:00
Enno Rehling
5bc4f7f144 add some simple tests for writing travelthru information to the report, fix test that sets errno as a side effect (thanks, Microsoft!) 2015-08-18 17:08:02 +02:00
Enno Rehling
c8cbeea660 STRLCPY macro redefinition and fixes for gcc. work for monkeys. 2015-08-17 22:48:21 +02:00
Enno Rehling
681697fd47 gcc still more picky than clang. 2015-08-17 20:32:02 +02:00
Enno Rehling
e621b97465 Easy pratfall: Visual Studio includes limits.h through stdlib.h, but gcc/clang do not. 2015-08-17 20:22:02 +02:00
Enno Rehling
1042c94fd9 quickly fix gcc conversion warnings. lots of DRY. 2015-08-17 20:17:02 +02:00
Enno Rehling
b999e3c963 replace strlcpy/wrptr pairs with new STRLCPY macro. 2015-08-17 19:37:02 +02:00
Enno Rehling
7e64f3177d refactoring: rewrite tests to use test_find_messagetype instead of assert_messages.
tests: add cleanup of message_types to reduce global state.
2015-08-17 19:36:28 +02:00
Enno Rehling
1806030baa new all-in-one strlcpy and wrptr function 2015-08-17 19:28:05 +02:00
Enno Rehling
dcececf4fa Debug: move errno testing closer to the report-writing, so we know which report caused the error.
Fix: wrptr gets the result from _snprintf, which is int, not size_t.
2015-08-17 16:17:08 +02:00
Enno Rehling
df5eaa6ef2 eliminate warning (unused variable) 2015-08-16 19:55:11 +02:00
Enno Rehling
b50c1720cf several monster_attack fixes.
1. do not try to attack other monsters.
2. monsters outside of a building can attack units outside of buildings.
3. dragons can guard without weapons.
2015-08-16 16:18:59 +02:00
Enno Rehling
3fe0e62105 do not remove battles from dead faction before writing the report. 2015-08-16 12:06:05 +02:00
Enno Rehling
27b5588e8f Merge region messages and individual messages before writing them into the report.
This fixes https://bugs.eressea.de/view.php?id=2073
2015-08-16 11:30:44 +02:00
Enno Rehling
47dccc667b Add a message that contains the password in the first report, so Magellan can pick it up.
Fix a bad type conversion when setting skills.
2015-08-15 20:25:36 +02:00
Enno Rehling
0af5df470b managed to commit some broken tests, and travis let them pass. something is wrong with the CI tests. 2015-08-07 18:30:02 +02:00
Enno Rehling
398579c293 remove duplication, fix a stray blank space in the NR. 2015-08-07 16:17:11 +02:00
Enno Rehling
816243d2d7 magicians can always identify their own curse-effects.
magic-resistance on a building is always visible to anybody, just like it is on units.
2015-08-07 15:52:10 +02:00
Enno Rehling
00423a746b clarify the good/bad dreams tests 2015-08-07 13:26:41 +02:00
Enno Rehling
12a2a1f412 get_captain is wrong, the rules say the captain is the FIRST unit in the ship, which I believe means ship_owner, not best skill.
clean up shipspeed tests a little (WIP, missing edge cases).
ignore some temporary files.
2015-08-07 13:07:45 +02:00
Enno Rehling
3bfc05c3b0 test bonus for new ship-speed rules (WIP). 2015-08-07 13:03:19 +02:00
Enno Rehling
b72f48c044 enhanced ship speed for selected ships (currently none). 2015-08-07 12:51:20 +02:00
Enno Rehling
c322fbffd5 rename ship_sailors to crew_skill, it's more descriptive 2015-08-07 12:46:32 +02:00
Enno Rehling
afbc4c816b refactoring ship speed, extract total skills of sailors into a function. 2015-08-07 12:43:18 +02:00
Enno Rehling
bfdef37808 fix the test and the formula for damaged ships' speeds. 2015-08-07 12:03:33 +02:00
Enno Rehling
8636aabe8a tests for existing shipspeed features, failing ship for ship-damage. 2015-08-07 11:50:49 +02:00
Enno Rehling
b3a8a95a24 cherry-picking ship tests from range_max code 2015-08-07 11:48:46 +02:00
Enno Rehling
04db291c8b disable random study in test to make it not intermittent 2015-08-06 20:48:14 +02:00
Enno Rehling
c0a760a645 Merge branch 'develop' of github.com:eressea/server into develop 2015-08-06 19:54:51 +02:00
Enno Rehling
6c8300a47e Merge branch 'feature/bug-1588-magicpower-limit' of https://github.com/ennorehling/eressea into ennorehling-feature/bug-1588-magicpower-limit
Conflicts:
	scripts/tests/e2/init.lua
	src/battle.c
	src/bind_unit.c
	src/kernel/spellid.h
	src/magic.c
	src/magic.h
2015-08-06 19:53:24 +02:00
Enno Rehling
4c877288d3 remove spellid.h, it represents an outdated way of doing things.
merge the enum into combatspells, and reduce it to the spells actually used here.
2015-08-06 17:57:51 +02:00
Enno Rehling
01649ce682 Merge pull request #266 from ennorehling/feature/bug-2101-study-teach-testing
bug 2101: increase max printed length of orders
2015-08-06 17:12:41 +02:00
Enno Rehling
1e6a83f357 resize buffer in eval_command, it was too small for many commands.
increase MAXTEACHERS.
eliminate oldterrain warning in json_report.
2015-08-06 16:52:24 +02:00