mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-27 02:23:15 +01:00
Don't die when out of bounds if non-DEBUG. Stops people hitting me when bugs kill their long-running sessions in release versions.
This commit is contained in:
parent
4ebb85aae8
commit
10c4a6dc33
19
grid.c
19
grid.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: grid.c,v 1.3 2008-09-28 20:34:22 nicm Exp $ */
|
/* $Id: grid.c,v 1.4 2009-01-08 21:52:05 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -37,15 +37,30 @@
|
|||||||
/* Default grid cell data. */
|
/* Default grid cell data. */
|
||||||
const struct grid_cell grid_default_cell = { ' ', 0, 0, 8, 8 };
|
const struct grid_cell grid_default_cell = { ' ', 0, 0, 8, 8 };
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
#define grid_check_x(gd, px) do { \
|
#define grid_check_x(gd, px) do { \
|
||||||
if ((px) >= (gd)->sx) \
|
if ((px) >= (gd)->sx) \
|
||||||
log_fatalx("x out of range: %u", px); \
|
log_fatalx("x out of range: %u", px); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define grid_check_y(gd, py) do { \
|
#define grid_check_y(gd, py) do { \
|
||||||
if ((py) >= (gd)->hsize + (gd)->sy) \
|
if ((py) >= (gd)->hsize + (gd)->sy) \
|
||||||
log_fatalx("y out of range: %u", py); \
|
log_fatalx("y out of range: %u", py); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
#else
|
||||||
|
#define grid_check_x(gd, px) do { \
|
||||||
|
if ((px) >= (gd)->sx) { \
|
||||||
|
log_debug("x out of range: %u", px); \
|
||||||
|
return; \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
#define grid_check_y(gd, py) do { \
|
||||||
|
if ((py) >= (gd)->hsize + (gd)->sy) { \
|
||||||
|
log_debug("y out of range: %u", py); \
|
||||||
|
return; \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define grid_put_cell(gd, px, py, gc) do { \
|
#define grid_put_cell(gd, px, py, gc) do { \
|
||||||
memcpy(&gd->data[py][px], gc, sizeof gd->data[py][px]); \
|
memcpy(&gd->data[py][px], gc, sizeof gd->data[py][px]); \
|
||||||
|
Loading…
Reference in New Issue
Block a user