From: Ben Pfaff <blp@cs.stanford.edu>
Date: Fri, 1 Jan 2021 06:00:50 +0000 (-0800)
Subject: render: Simplify 'pages' array in struct render_pager.
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=11ce7bf9a452f1358cdff5f7880663378fe3abeb;p=pspp

render: Simplify 'pages' array in struct render_pager.
---

diff --git a/src/output/render.c b/src/output/render.c
index 680beb38f8..ae67b6351e 100644
--- a/src/output/render.c
+++ b/src/output/render.c
@@ -1483,12 +1483,11 @@ struct render_pager
     const struct render_params *params;
     double scale;
 
-    /* An array of "render_page"s to be rendered, in order, vertically.  From
-       the user's perspective, there's only one table per render_pager, but the
-       implementation treats the title, table body, caption, footnotes,
-       etc. each as a table, and that's why we have an array here. */
-    struct render_page **pages;
-    size_t n_pages, allocated_pages;
+    /* An array of "render_page"s to be rendered, in order, vertically.  There
+       may be up to 5 pages, for the pivot table's title, layers, body,
+       captions, and footnotes. */
+    struct render_page *pages[5];
+    size_t n_pages;
 
     size_t cur_page;
     struct render_break x_break;
@@ -1499,9 +1498,6 @@ static const struct render_page *
 render_pager_add_table (struct render_pager *p, struct table *table,
                         int min_width)
 {
-  if (p->n_pages >= p->allocated_pages)
-    p->pages = x2nrealloc (p->pages, &p->allocated_pages, sizeof *p->pages);
-
   struct render_page *page = render_page_create (p->params, table, min_width);
   p->pages[p->n_pages++] = page;
   return page;
@@ -1645,7 +1641,6 @@ render_pager_destroy (struct render_pager *p)
       render_break_destroy (&p->y_break);
       for (size_t i = 0; i < p->n_pages; i++)
         render_page_unref (p->pages[i]);
-      free (p->pages);
       free (p);
     }
 }