From: Jarkko Hietaniemi Date: Sat, 4 Nov 2000 22:43:56 +0000 (+0000) Subject: Integrate perlio: X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6ac94dd724117eebd4840593a6c1fc07770a26fb;p=p5sagit%2Fp5-mst-13.2.git Integrate perlio: [ 7539] PerlIO infrastructure complete. [ 7538] Type tweaks + less contorted allocation scheme [ 7537] Fix for stdio as default "discipline" - PerlIO_init() was fdopen(2,"w")'ing a fresh FILE * rather than re-using stderr. Which meant PerlIO_stderr() was fully buffered rather than unbuffered (on Solaris, Linux seemed to do something sensible) which lead to some interesting fails. [ 7535] Implement stack of layers - (perlio.c _is_ derived from the old file honest...) - Works on Linux with perlio + unix stdio - Works on Solaris with perlio + unix - Fails ONE test (print to STDIN should fail) on Solaris with stdio. - Fails (hangs in openpid) if you try and stack perlio + stdio - Linux stdio's read() logic is hanging. [ 7492] Change files which are mysteriously different to mainline to be copies of mainline. [ 7491] Perlio fixes discovered on big-endian & very traditional Solaris: - typo in endian code in putc. - Don't allow read of write-only files and vice-versa - and off-by-one in flush-all loop. Remove debug calls as they were using GCC specific features. [ 7484] PerlIO passes all tests. [ 7482] Include to get correct lseek() prototype etc. (I thought perl.h did that) - down to two fails - comp/require.t (last test) - lib/io_xs.t - possibly import/export of FILE * ? [ 7480] Fixed two bugs: - error code not being set on close (of broken pipe) - append mode was truncating. At least one seek/tell bug remains. [ 7479] Prototype (stdio-like) PerlIO passing basic tests. Checked in in case of accidents. Still several worrying fails, no line disciplines yet. p4raw-link: @7539 on //depot/perlio: f3862f8bcf6d3aa824432654b287f4ebd64db17f p4raw-link: @7538 on //depot/perlio: 05d1247b4b0324742a6edccf90ff347d8905fcdb p4raw-link: @7537 on //depot/perlio: c7fc522f3f7e35723803aaacf8c326dac22dae76 p4raw-link: @7535 on //depot/perlio: 9e353e3b7330a59ca210e75e4484e7762fcd1ce4 p4raw-link: @7492 on //depot/perlio: e9e021e644582e6ca1e9f6b4c1f1a8a7c7e2a58d p4raw-link: @7491 on //depot/perlio: f89522bf4daaf3c639b016283ffbace973e9c323 p4raw-link: @7484 on //depot/perlio: b1ef6e3bd726972447a8b536231f096656903bb3 p4raw-link: @7482 on //depot/perlio: 02f66e2f9235025f08502389e56df70aa71733c0 p4raw-link: @7480 on //depot/perlio: bb9950b796df42e2f824a072ae878c87e977be20 p4raw-link: @7479 on //depot/perlio: 6f9d8c32c6a78a47c6088f50d7051d779f712ee1 p4raw-id: //depot/perl@7547 --- 6ac94dd724117eebd4840593a6c1fc07770a26fb diff --cc perlapi.c index efa7164,d71ac49..a9dd2f0 --- a/perlapi.c +++ b/perlapi.c @@@ -2237,21 -2237,21 +2237,21 @@@ Perl_init_i18nl14n(pTHXo_ int printwarn #undef Perl_new_collate void --Perl_new_collate(pTHXo_ const char* newcoll) ++Perl_new_collate(pTHXo_ char* newcoll) { ((CPerlObj*)pPerl)->Perl_new_collate(newcoll); } #undef Perl_new_ctype void --Perl_new_ctype(pTHXo_ const char* newctype) ++Perl_new_ctype(pTHXo_ char* newctype) { ((CPerlObj*)pPerl)->Perl_new_ctype(newctype); } #undef Perl_new_numeric void --Perl_new_numeric(pTHXo_ const char* newcoll) ++Perl_new_numeric(pTHXo_ char* newcoll) { ((CPerlObj*)pPerl)->Perl_new_numeric(newcoll); }