diff options
author | Tavian Barnes <tavianator@gmail.com> | 2009-12-17 03:24:36 -0500 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2009-12-17 03:24:36 -0500 |
commit | 2b320283ef67cc8ea72cf1ef4749206ec112681c (patch) | |
tree | b189328c3124d0cda034eebf6d5107bc0ad3bdee /dimension/realize.c | |
parent | c66148484cad66972348ffe850fd23bc9dca60f9 (diff) | |
download | dimension-2b320283ef67cc8ea72cf1ef4749206ec112681c.tar.xz |
Preliminary dmnsn_realize_string(), just in case.
Diffstat (limited to 'dimension/realize.c')
-rw-r--r-- | dimension/realize.c | 13 |
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>"); +} |