From afb5e4209bce0dd6979e06593dc7ffb311365807 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Sun, 2 May 2004 17:01:37 +0000 Subject: [project @ 2004-05-02 17:01:37 by jmb] Remove #ifdef nastiness. Now uses alloca. svn path=/import/netsurf/; revision=816 --- render/layout.c | 15 ++------------- riscos/theme.c | 25 ++----------------------- 2 files changed, 4 insertions(+), 36 deletions(-) diff --git a/render/layout.c b/render/layout.c index 92aadbf7e..0e825f5cd 100644 --- a/render/layout.c +++ b/render/layout.c @@ -13,6 +13,7 @@ * precalculation of minimum / maximum box widths. */ +#include #include #include #include @@ -1002,16 +1003,7 @@ void layout_table(struct box *table, int available_width) struct box *row; struct box *row_group; struct box **row_span_cell; - /** - * \attention - * See the note at the top of ro_theme_load() - * in riscos/theme.c for an explaination of this \#ifdef silliness - */ -#ifdef __GNUC__ - struct column col[columns]; -#else - struct column *col = xcalloc(columns, sizeof(*col)); -#endif + struct column *col = alloca(columns * sizeof(struct column)); struct css_style *style = table->style; assert(table->type == BOX_TABLE); @@ -1218,9 +1210,6 @@ void layout_table(struct box *table, int available_width) xfree(excess_y); xfree(row_span); xfree(xs); -#ifndef __GNUC__ - xfree(col); -#endif table->width = table_width; table->height = table_height; diff --git a/riscos/theme.c b/riscos/theme.c index f20705e69..2febebc0b 100644 --- a/riscos/theme.c +++ b/riscos/theme.c @@ -10,6 +10,7 @@ * Toolbar themes (implementation). */ +#include #include #include #include @@ -37,26 +38,7 @@ void ro_theme_load(char *pathname) char name[] = "toolbar"; int context, window_size, data_size, size, i; static char *data = 0; - /** - * \note - * This is necessary as, when compiling with Norcroft 5.54, - * linking fails due to it trying to use - * __rt_allocauto and __rt_freeauto to allocate (and free) - * the stack space used by the filename buffer. - * These symbols are provided by the SCL but not by Unixlib - * - * \note - * There are three possible ways around this \#ifdef nastiness: - * - Allocate filename on the heap instead - * - Get NetSurf to build and link against the SCL - * - Implement __rt_allocauto and __rt_freeauto for Unixlib - * - */ -#ifdef __GNUC__ - char filename[strlen(pathname) + 12]; -#else - char *filename = xcalloc(strlen(pathname) + 12, sizeof(char)); -#endif + char *filename = alloca(strlen(pathname) + 12); fileswitch_object_type obj_type; /* free old theme data */ @@ -117,9 +99,6 @@ void ro_theme_load(char *pathname) theme_throbs = n; } } -#ifndef __GNUC__ - xfree(filename); -#endif } -- cgit v1.2.3