# New Ticket Created by  Jürgen Bömmels 
# Please include the string:  [perl #23172]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=23172 >


A followup-patch to the now applied #23034 and #23124
to get miniparrot running again:

move the standard-file-handles in io_stdio.c also to PMCs and add the
new 'P'-prototype to build_native_call.pl



-- attachment  1 ------------------------------------------------------
url: http://rt.perl.org/rt2/attach/61976/45684/071697/io17.diff

? log.9392.gz
? test.imc
? mprout.pl
? docs/core_ops.pod
? docs/io_ops.pod
? io/Makefile
? t/src/staticstring.t
? t/src/valgrind.t
Index: build_nativecall.pl
===================================================================
RCS file: /cvs/public/parrot/build_nativecall.pl,v
retrieving revision 1.19
diff -u -r1.19 build_nativecall.pl
--- build_nativecall.pl	30 Jul 2003 14:59:46 -0000	1.19
+++ build_nativecall.pl	30 Jul 2003 15:37:35 -0000
@@ -27,6 +27,7 @@
                  );
 
 my (%proto_type) = (p => "void *",
+		    P => "PMC *",
 		    i => "int",
 		    l => "long",
 		    c => "char",
Index: io/io_stdio.c
===================================================================
RCS file: /cvs/public/parrot/io/io_stdio.c,v
retrieving revision 1.24
diff -u -r1.24 io_stdio.c
--- io/io_stdio.c	29 Jul 2003 20:54:04 -0000	1.24
+++ io/io_stdio.c	30 Jul 2003 15:37:35 -0000
@@ -92,14 +92,17 @@
 INTVAL
 PIO_stdio_init(theINTERP, ParrotIOLayer *layer)
 {
-    PIO_STDIN(interpreter) =
-        PIO_stdio_fdopen(interpreter, layer, stdin, PIO_F_READ);
+    PIO_STDIN(interpreter) 
+        = new_io_pmc(interpreter, 
+                     PIO_stdio_fdopen(interpreter, layer, stdin, PIO_F_READ));
 
-    PIO_STDOUT(interpreter) =
-        PIO_stdio_fdopen(interpreter, layer, stdout, PIO_F_WRITE);
+    PIO_STDOUT(interpreter)
+        = new_io_pmc(interpreter,
+                     PIO_stdio_fdopen(interpreter, layer, stdout, PIO_F_WRITE));
 
-    PIO_STDERR(interpreter) =
-        PIO_stdio_fdopen(interpreter, layer, stderr, PIO_F_WRITE);
+    PIO_STDERR(interpreter)
+        = new_io_pmc(interpreter, 
+                     PIO_stdio_fdopen(interpreter, layer, stderr, PIO_F_WRITE));
 
     return 0;
 }

Reply via email to