summaryrefslogtreecommitdiff
path: root/perliol.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix for bugs 21717 and 22140.Nick Ing-Simmons2003-05-101-0/+1
| | | | | | | | Win32's lseek claims to have succeeded in pipes etc. Which confuses :perlio and derived layers. So have :unix's "pushed" method stat() the fd and cache non S_ISREG nature. Have Unix_seek fail if fd is NOT S_ISREG to match UNIX behaviour. p4raw-id: //depot/perlio@19475
* PerlIO Layer implementation future proofing.Nick Ing-Simmons2002-06-201-3/+4
| | | | | | | | | - Inspired by Nick C's suggestion add size of function table to the table as a validation check. - also optimize pseudo-layer code to avoid malloc/link of something destined to be immediately popped & freed. - Minor addition to pod/perliol.pod p4raw-id: //depot/perlio@17330
* "Clean" implementation of binmode(FH)/":raw" identity.Nick Ing-Simmons2002-06-191-0/+2
| | | | | | | New function table entry so all layer definitions need tweaking. Extra function table entry allows a layer to remain on a binmode stack New PerlIOBase_binmode allows easy implementation of default policy. p4raw-id: //depot/perlio@17309
* Last minute tinkering with PerlIO abstraction API.Nick Ing-Simmons2002-06-161-1/+1
| | | | | | | | - PerlIO_importFILE and PerlIO_exportFILE now documented as taking const char *mode. - Other 'flags' field changed to U32 - Discouraging words written about ":raw". p4raw-id: //depot/perlio@17258
* Re: linux + usemorebits: gcc error?Hugo van der Sanden2002-06-131-1/+1
| | | | | | | Message-Id: <200206131403.g5DE3Sk21964@crypt.compulink.co.uk> (go U32 based on NI-S since it's a flags field) p4raw-id: //depot/perl@17222
* Fix the crlf.t buffer leakNick Ing-Simmons2002-05-171-0/+1
| | | | | | | | - actually a generic PerlIOBuf_xxx derived leak-on-pop, but :crlf flagged it because it is more often popped without stream being closed. - Define non-noop PerlIOBuf_popped(), use it and export it. p4raw-id: //depot/perlio@16657
* Fix fd leak on Via(bogus).Nick Ing-Simmons2002-04-271-0/+7
| | | | | | | Finish implementing PerlIOVia_open(). Export more guts of PerlIO_* so Via_open() can work. Fix various PerlIO_allocate() features exposed by above. p4raw-id: //depot/perlio@16207
* perlio.c cleanup - in particular avoid accidental PerlIO_flush(NULL)Nick Ing-Simmons2001-12-311-0/+1
| | | | | if PerlIONext is NULL. p4raw-id: //depot/perlio@13975
* Add pTHX to all vtable functions for future-proofing andNick Ing-Simmons2001-12-191-47/+47
| | | | | consistency of PerlIO layers. p4raw-id: //depot/perlio@13808
* Detypo and rename.Jarkko Hietaniemi2001-12-121-1/+1
| | | p4raw-id: //depot/perl@13637
* Try to handle platforms that have O_TEXT != O_BINARY butJarkko Hietaniemi2001-12-111-1/+1
| | | | | | | which are not DOSish, BeOS being one of such platforms. Ideally this should be a Configure test, not a hardwired cpp symbol test... p4raw-id: //depot/perl@13621
* Allow multi-arg open() if opening layer declares this legal.Nick Ing-Simmons2001-12-081-0/+1
| | | p4raw-id: //depot/perlio@13530
* Allow dup'ing of PerlIO::Scalar etc.Nick Ing-Simmons2001-11-181-4/+4
| | | p4raw-id: //depot/perlio@13072
* PerlIOBuf_dupNicholas Clark2001-10-301-0/+1
| | | | | | | Message-ID: <20011029215235.K41204@plum.flirble.org> Add prototype. p4raw-id: //depot/perl@12779
* Convert rest of PerlIO's memory tables to per-interp and add clone functionsNick Ing-Simmons2001-10-211-2/+2
| | | | | | | | for them. Call explicit cleanup during destruct process. - one binmode test is failing - also ext/threads/t/basic.t fails under make test, and is noisy under harness. (Threads results are intermingled and don't match order expected.) p4raw-id: //depot/perlio@12547
* Skeleton of "PerlIO_dup" coded.Nick Ing-Simmons2001-10-161-2/+3
| | | | | Still-passes all tests non-threaded (well it would wouldn't it!) p4raw-id: //depot/perlio@12451
* Beginings of PerlIO_dup support (unstable)Nick Ing-Simmons2001-10-151-0/+2
| | | p4raw-id: //depot/perlio@12447
* Reindent the PerlIO files (suggested by NI-S), usedJarkko Hietaniemi2001-09-171-92/+90
| | | | | | | | | indent -kr -nce -psl -sc -TSV -TAV -THV -TGV -TIV -TUV -TNV -TMAGIC -TFILE -TPerlIO -TPerlIO_list_t -TPerlIO_funcs -TPerlIO_pair_t (GNU indent). Note that wholesale re-indenting might be nice, but that would break nice formatting/alignment of assignments, equality testing, and complex boolean expressions with lots of &s and |s. p4raw-id: //depot/perl@12052
* Work-in-progress win32 layer semi-functional, checking Nick Ing-Simmons2001-06-161-1/+5
| | | | | for UNIX breakage. p4raw-id: //depot/perlio@10632
* Avoid AV and HV in perlio.c by inventing PerlIO_list_t which is AV-ishNick Ing-Simmons2001-06-131-4/+18
| | | | | and using that instead (name lookups are sequential search for now). p4raw-id: //depot/perlio@10564
* PerlIO for VMSCraig A. Berry2001-05-261-2/+0
| | | | | Message-Id: <a05100e0ab734816701a5@[172.16.52.1]> p4raw-id: //depot/perl@10218
* Implement flush of linebuffered streams on read of a tty.Nick Ing-Simmons2001-03-261-0/+2
| | | p4raw-id: //depot/perlio@9361
* Add destruct time hook to PerlIO (for work-in-process implementingNick Ing-Simmons2001-03-251-0/+1
| | | | | | | layers in perl code. In such cases layers need to be popped before we loose the ability to run perl code.) Also back-out "PerlIO::object" hook - it isn't going to work like that... p4raw-id: //depot/perlio@9346
* Implement:Nick Ing-Simmons2001-03-241-1/+3
| | | | | | 1. open($fh,"+<",undef); # add test to t/io/open.t 2. open($fh,"+<",\$var); # New test t/lib/io_scalar.t p4raw-id: //depot/perlio@9318
* Perlio internals re-organized.Nick Ing-Simmons2001-03-231-5/+12
| | | | | | | | | | | | - open process creates AV of layer/arg pairs (appends layers from open() or open.pm to default list). - push arg is now an SV. - layer ->Open get passed the AV - open is no longer mandatory method. - topmost layer that has ->Open method does the open - any layers above are pushed once that returns. - vtable re-ordered so dummy layers need only provide push/pop methods. p4raw-id: //depot/perlio@9314
* Snapshot of new PerlIO open scheme. Still buggy - mainly in ↵Nick Ing-Simmons2001-03-221-6/+2
| | | | | | | | | | | | | | | open($fh,">&STDOUT!") type code. - Invent PerlIO_openn() - which has "lots" of args a bit like do_openn() which is its main caller. In particular now has access to "extra" args, and can tell when an open handle is "reopened" (or duped?). - In -Duseperlio PerlIO_open() et. al. are now wrappers on PerlIO_openn(). - In -Uuseperlio (untested as yet) PerlIO_openn() is a wrapper on PerlIO_open() et. al. (i.e. other way round). - Collapse "vtable" entries for layers - was fdopen/open/reopen now just open with args close to PerlIO_openn(). p4raw-id: //depot/perlio@9302
* Clean up a few core dumps when layers are used in unexpected ways.Nick Ing-Simmons2001-02-181-9/+10
| | | | | (Still not "right"...) p4raw-id: //depot/perlio@8820
* Make "real" layers of ":utf8" and ":raw".Nick Ing-Simmons2001-01-211-0/+3
| | | | | | | So now PERLIO=utf8 perl ... does what Andreas wanted. Fix arg passing in open.pm (still have a Carp issue). p4raw-id: //depot/perlio@8511
* Integrate mainline.Nick Ing-Simmons2000-12-191-1/+2
| | | p4raw-id: //depot/perlio@8202
* Finish 1st pass of "encoding" layer e.g. :Nick Ing-Simmons2000-12-111-0/+1
| | | | | open($fh,"<encoding(iso8859-7)",$greek) || die; p4raw-id: //depot/perlio@8085
* Not merge worthy...Nick Ing-Simmons2000-12-101-2/+2
| | | | | | | | Allow arg to layers e.g. open($fh,"<:encode(iso8859-15)",$name) syntax is modelled on attributes. Untested fix for io/utf8 on Win32 etc. Very clumsy start to the encode layer. p4raw-id: //depot/perlio@8076
* PERL_IMPLICIT_SYS (almost) works - something odd with "signal"Nick Ing-Simmons2000-12-041-1/+1
| | | p4raw-id: //depot/perlio@7983
* Fix 'mmap' lib/filehand.t (ungetc) test fail.Nick Ing-Simmons2000-12-011-16/+18
| | | | | | | | | | | Make 'unix' pass most tests - do unread by temporary push of layer ("pending") holding unread chars - fast_gets is now based on per-handle flag - relax one of io/pipe.t tests to allow print to fail and close to succeed so that it passes on unbuffered "unix" layer. Remaining fail is sporadic and a genuine race condition between parent/child in fork test. p4raw-id: //depot/perlio@7942
* Re-arrange crlf vs binary for platforms that care.Nick Ing-Simmons2000-11-241-4/+18
| | | | | | | | crlf layer is now "the" buffer layer and can turn its behaviour on/off. Lip-service to making stdio layer work on such platforms (untested). Now fails 3 tests rather than one, checkin to see if I can debug the issue under linux. (Do not merge.) p4raw-id: //depot/perlio@7853
* Add dummy crlf layer (just as buffer)Nick Ing-Simmons2000-11-191-0/+1
| | | | | Correct 1st bug - one layer of indirection. p4raw-id: //depot/perlio@7755
* PerlIO #include and #ifdef re-work.Nick Ing-Simmons2000-11-141-0/+131
p4raw-id: //depot/perlio@7684