{
assert (t != NULL);
pool_destroy (t->container);
+ t=0;
}
/* Sets the width and height of a table, in columns and rows,
int y;
assert (t != NULL);
+ assert (x > 0);
+ assert (x < t->nc);
+ assert (y1 >= 0);
+ assert (y2 >= y1);
+ assert (y2 <= t->nr);
+
#if GLOBAL_DEBUGGING
if (x + t->col_ofs < 0 || x + t->col_ofs > t->nc
|| y1 + t->row_ofs < 0 || y1 + t->row_ofs >= t->nr
int x;
assert (t != NULL);
-#if GLOBAL_DEBUGGING
- if (x1 + t->col_ofs < 0 || x1 + t->col_ofs >= t->nc
- || x2 + t->col_ofs < 0 || x2 + t->col_ofs >= t->nc
- || y + t->row_ofs < 0 || y + t->row_ofs > t->nr)
- {
- printf (_("bad hline: x=(%d+%d=%d,%d+%d=%d) y=%d+%d=%d "
- "in table size (%d,%d)\n"),
- x1, t->col_ofs, x1 + t->col_ofs,
- x2, t->col_ofs, x2 + t->col_ofs,
- y, t->row_ofs, y + t->row_ofs,
- t->nc, t->nr);
- return;
- }
-#endif
+
+ assert (y >= 0);
+ assert (y < t->nr);
+ assert (x2 >= x1 );
+ assert (x1 >= 0 );
+ assert (x2 < t->nc);
x1 += t->col_ofs;
x2 += t->col_ofs;
int x1, int y1, int x2, int y2)
{
assert (t != NULL);
+
+ assert (x2 >= x1);
+ assert (y2 >= y1);
+ assert (x1 >= 0);
+ assert (y1 >= 0);
+ assert (x2 < t->nc);
+ assert (y2 < t->nr);
+
#if GLOBAL_DEBUGGING
if (x1 + t->col_ofs < 0 || x1 + t->col_ofs >= t->nc
|| x2 + t->col_ofs < 0 || x2 + t->col_ofs >= t->nc
va_list args;
assert (table != NULL && text != NULL);
+
+ assert (c >= 0 );
+ assert (r >= 0 );
+ assert (c < table->nc);
+ assert (r < table->nr);
+
+
#if GLOBAL_DEBUGGING
if (c + table->col_ofs < 0 || r + table->row_ofs < 0
|| c + table->col_ofs >= table->nc
struct tab_joined_cell *j;
assert (table != NULL && text != NULL);
+
+ assert (x1 >= 0);
+ assert (y1 >= 0);
+ assert (y2 >= y1);
+ assert (x2 >= x1);
+ assert (y2 < table->nr);
+ assert (x2 < table->nc);
+
#if GLOBAL_DEBUGGING
if (x1 + table->col_ofs < 0 || x1 + table->col_ofs >= table->nc
|| y1 + table->row_ofs < 0 || y1 + table->row_ofs >= table->nr
{
j->hit = tab_hit;
- if (j->x1 == c / 2 && j->y1 == r / 2
- && j->x2 <= c2 && j->y2 <= r2)
+ if (j->x1 == c / 2 && j->y1 == r / 2)
{
struct outp_text text;
int c;
for (c = j->x1, text.h = -t->wrv[j->x2];
- c < j->x2; c++)
- text.h += t->w[c] + t->wrv[c + 1];
+ c < j->x2 && c < c2 / 2; c++)
+ text.h += t->w[c] + t->wrv[c + 1];
}
{
int r;
for (r = j->y1, text.v = -t->hrh[j->y2];
- r < j->y2; r++)
+ r < j->y2 && r < r2 / 2; r++)
text.v += t->h[r] + t->hrh[r + 1];
}
d->class->text_draw (d, &text);