From 7d3a45468b07356d6ca2863b59163b165a83a0f0 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 9 Feb 2010 21:03:10 -0500 Subject: Get rid of fmemopen() hack. --- dimension/realize.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'dimension/realize.c') diff --git a/dimension/realize.c b/dimension/realize.c index 31fb021..810d86e 100644 --- a/dimension/realize.c +++ b/dimension/realize.c @@ -17,8 +17,6 @@ * along with this program. If not, see . * *************************************************************************/ -#define _GNU_SOURCE /* For fmemopen */ - #include "realize.h" #include "parse.h" #include "utility.h" @@ -754,18 +752,14 @@ dmnsn_realize_string(const char *str, dmnsn_symbol_table *symtable) if (!symtable) { symtable = dmnsn_new_symbol_table(); } - if (!dmnsn_find_symbol(symtable, "__file__")) { - dmnsn_declare_symbol(symtable, "__file__", - dmnsn_new_ast_string("")); - } - FILE *file = fmemopen((void *)str, strlen(str), "r"); - if (!file) { + dmnsn_astree *astree = dmnsn_parse_string(str, symtable); + if (!astree) { return NULL; } - dmnsn_scene *scene = dmnsn_realize(file, symtable); + dmnsn_scene *scene = dmnsn_realize_astree(astree); - fclose(file); + dmnsn_delete_astree(astree); return scene; } -- cgit v1.2.3