summaryrefslogtreecommitdiff
path: root/misc/swig/stdio/file.swig
diff options
context:
space:
mode:
Diffstat (limited to 'misc/swig/stdio/file.swig')
-rw-r--r--misc/swig/stdio/file.swig15
1 files changed, 14 insertions, 1 deletions
diff --git a/misc/swig/stdio/file.swig b/misc/swig/stdio/file.swig
index 57c623f8f..8ba341d08 100644
--- a/misc/swig/stdio/file.swig
+++ b/misc/swig/stdio/file.swig
@@ -6,6 +6,19 @@
%{
#include <stdio.h>
+#include <stdlib.h>
%}
-int puts(const char *);
+%typemap(gotype) const char * "string"
+%typemap(in) const char * %{
+ $1 = malloc($input.n + 1);
+ memcpy($1, $input.p, $input.n);
+ $1[$input.n] = '\0';
+%}
+%typemap(freearg) const char * %{
+ free($1);
+%}
+
+FILE *fopen(const char *name, const char *mode);
+int fclose(FILE *);
+int fgetc(FILE *);