home
·
contact
·
privacy
projects
/
plomrogue
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
57bdbc3
)
Server: In mv_yx_in_dir_wrap(), test for excess wrapping.
author
Christian Heller
<c.heller@plomlompom.de>
Wed, 3 Sep 2014 00:13:23 +0000
(
02:13
+0200)
committer
Christian Heller
<c.heller@plomlompom.de>
Wed, 3 Sep 2014 00:13:23 +0000
(
02:13
+0200)
src/server/map.c
patch
|
blob
|
history
diff --git
a/src/server/map.c
b/src/server/map.c
index 40aaaa9850a9baaa3f6655c4c13450fab03d7c5b..d4265f37a6e3ce4daa2881ecf03ff7932d8264b4 100644
(file)
--- a/
src/server/map.c
+++ b/
src/server/map.c
@@
-1,7
+1,7
@@
/* src/server/map.c */
#include "map.h"
/* src/server/map.c */
#include "map.h"
-#include <stdint.h> /* uint8_t, int8_t, uint16_t, uint32_t,
UINT16_MAX
*/
+#include <stdint.h> /* uint8_t, int8_t, uint16_t, uint32_t,
(U)INT*_(MIN|MAX)
*/
#include <stdlib.h> /* free() */
#include <string.h> /* strchr() */
#include "../common/rexit.h" /* exit_err() */
#include <stdlib.h> /* free() */
#include <string.h> /* strchr() */
#include "../common/rexit.h" /* exit_err() */
@@
-42,7
+42,7
@@
static void make_trees();
static void mv_yx_in_dir(char d, struct yx_uint8 * yx)
{
static void mv_yx_in_dir(char d, struct yx_uint8 * yx)
{
- if (d == 'e')
+ if
(d == 'e')
{
yx->x = yx->x + (yx->y % 2);
yx->y--;
{
yx->x = yx->x + (yx->y % 2);
yx->y--;
@@
-78,6
+78,9
@@
static uint8_t mv_yx_in_dir_wrap(char d, struct yx_uint8 * yx)
{
static int8_t wrap_west_east = 0;
static int8_t wrap_north_south = 0;
{
static int8_t wrap_west_east = 0;
static int8_t wrap_north_south = 0;
+ char * err = "Too much wrapping in mv_yx_in_dir_wrap().";
+ exit_err(INT8_MIN == wrap_west_east || INT8_MIN == wrap_north_south, err);
+ exit_err(INT8_MAX == wrap_west_east || INT8_MAX == wrap_north_south, err);
if (!yx)
{
wrap_west_east = wrap_north_south = 0;
if (!yx)
{
wrap_west_east = wrap_north_south = 0;