summaryrefslogtreecommitdiffstats
path: root/dimension/realize.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2009-12-17 03:24:36 -0500
committerTavian Barnes <tavianator@gmail.com>2009-12-17 03:24:36 -0500
commit2b320283ef67cc8ea72cf1ef4749206ec112681c (patch)
treeb189328c3124d0cda034eebf6d5107bc0ad3bdee /dimension/realize.c
parentc66148484cad66972348ffe850fd23bc9dca60f9 (diff)
downloaddimension-2b320283ef67cc8ea72cf1ef4749206ec112681c.tar.xz
Preliminary dmnsn_realize_string(), just in case.
Diffstat (limited to 'dimension/realize.c')
-rw-r--r--dimension/realize.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/dimension/realize.c b/dimension/realize.c
index 7ca3ae2..bbbe4e7 100644
--- a/dimension/realize.c
+++ b/dimension/realize.c
@@ -17,10 +17,13 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
*************************************************************************/
+#define _GNU_SOURCE /* For fmemopen */
+
#include "realize.h"
#include "parse.h"
#include "utility.h"
#include <math.h>
+#include <stdio.h>
static double
dmnsn_realize_float(dmnsn_astnode astnode)
@@ -617,3 +620,13 @@ dmnsn_realize(FILE *file, const char *filename)
}
return dmnsn_realize_astree(astree);
}
+
+dmnsn_scene *
+dmnsn_realize_string(const char *str)
+{
+ FILE *file = fmemopen((void *)str, strlen(str), "r");
+ if (!file) {
+ return NULL;
+ }
+ return dmnsn_realize(file, "<string>");
+}