summaryrefslogtreecommitdiff
path: root/doio.c
Commit message (Collapse)AuthorAgeFilesLines
* Add check_utf8_print()Karl Williamson2011-01-091-0/+6
| | | | | | | This new function looks for problematic code points on output, and warns if any are found, returning FALSE as well. What it warns about may change, so is marked as experimental.
* Fix typos (spelling errors) in Perl sources.Peter J. Acklam) (via RT2011-01-071-1/+1
| | | | | | | | | # New Ticket Created by (Peter J. Acklam) # Please include the string: [perl #81904] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=81904 > Signed-off-by: Abigail <abigail@abigail.be>
* GvIO(gv) returns NULL for a NULL gv, so refactor to take advantage of this.Nicholas Clark2011-01-021-6/+6
| | | | | | Simplify tests of !gv || !io to just !io, avoid calling GvIO(gv) more than once, and where possible initialise io at declaration time, to allow it to be const.
* As report_evil_fh() checks WARN_{CLOSED,UNOPENED}, don't duplicate this.Nicholas Clark2010-12-281-12/+6
| | | | | | | | | | This trades reduced code size for an extra function call in the error path with warnings disabled. (And removes a duplicated check for the case of taking the error path *with* warnings enabled.) Removing the check from Perl_do_close() does not change behaviour, as io is NULL there, hence Perl_report_evil_fh() will always be checking WARN_UNOPENED and setting vile to "unopened".
* As report_wrongway_fh() checks ckWARN(WARN_IO) internally, don't duplicate this.Nicholas Clark2010-12-281-1/+1
| | | | | | This trades reduced code size for an extra function call in the error path with warnings disabled. (And removes a duplicated check for the case of taking the error path *with* warnings enabled.)
* Argument op to report_evil_fh() is always PL_op->op_type, so need not be passedNicholas Clark2010-12-281-6/+6
|
* The io argument to report_evil_fh() is always GvIO(gv), so need not be passed.Nicholas Clark2010-12-281-6/+6
|
* Extract the OP_phoney_* code from report_evil_fh() into report_wrongway_fh()Nicholas Clark2010-12-281-1/+1
| | | | | Previously Perl_report_evil_fh()'s body was just an if/else at the top level - a good sign that it is actually implementing two disjoint functions.
* Don’t use PL_op without checking it first.Father Chrysostomos2010-09-201-1/+3
|
* Fix "Wide character in warn" warningFather Chrysostomos2010-09-161-1/+1
|
* add my_[l]stat_flags(); make my_[l]stat() mathomsDavid Mitchell2010-07-031-4/+4
| | | | | | | my_stat() and my_lstat() call get magic on the stack arg, so create _flags() variants that allow us to control this. (I can't just change the signature or the mg_get() behaviour since my_[l]stat() are listed as being in the public API, even though they're undocumented.)
* RT #75812: apply get magic before checking flags, PVXTony Cook2010-06-251-3/+6
| | | | | | The code was checking flags with applying any get magic, so when a match was doing putting a numeric string into $1, none of the flags checked were set, so producing the "non-numeric process ID" error.
* Move PERL_ASYNC_CHECK() from POPBLOCK() to the kill case of Perl_apply().Nicholas Clark2010-04-181-0/+2
| | | | | | This ensures that (safe) signals sent to the same process are still dispatched within the same statement (as before), without overloading the semantics of block popping.
* [perl #73626] get magic wasn't called on 3rd arg of openDavid Mitchell2010-03-211-1/+2
| | | | | | | Change f6c77cf1bf4d7cb2c7a64dd7608120b471f84062 introduced open($fh,"+<",undef) but in the process stopped calling mg_get() on the third arg, so tied values etc weren't getting processed
* CYG23-544-statReini Urban2010-01-141-0/+4
| | | | | | | | | Stable cygwin patch for root filetests (gid 0 root <= gid 544 Administrators). On cygwin check for the Administrators group (544) which has root rights regarding -r filetests. Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
* [perl #70802] -i'*' refuses to workTony Cook2009-12-031-1/+1
|
* Add Perl_ck_warner_d(), which combines Perl_ckwarn_d() and Perl_warner().Nicholas Clark2009-10-121-27/+19
| | | | | Replace ckWARN_d{,2,3,4}() && Perl_warner() with it, which trades reduced code size for 1 more function call if warnings are not enabled.
* Fix compiler warning in doio.cJerry D. Hedden2009-07-091-4/+7
|
* Make kill() fatal for non-numeric pidsDavid Golden2009-07-091-0/+6
| | | | | | | | | | | | | | | | | | As the debate over the best way to deal with floating point pids stalled, this is just for non-numeric, which at least squashes the bug even if it's not the Platonic ideal for everyone. It also doesn't address overloaded objects that might not have IV, NV or PV appropriately set, but the approach mirrors what is done elsewhere in doio.c so I recommend applying this patch now and fixing the problem of overloaded objects at some other time when it can be done more globally, either through an improvement or replacement of looks_like_number Also updated POD for kill when process is 0 or negative and fixed Test-Harness tests that used kill with a string pid. (Test-Harness test fix also submitted upstream)
* Add test to make sure everything that outputs an exception or warning has a ↵James Mastros2009-06-271-0/+11
| | | | matching entry in perldiag (and fix it so that more of the existing ones do).
* Remove all the 5005threads specific mutex macros, which are now vestigial.Nicholas Clark2009-05-211-2/+0
|
* Remove all #ifdef MACOS_TRADITIONAL code in core and non-dual-life XS code.Nicholas Clark2009-04-271-12/+1
| | | | | | | | (MacOS support was removed from MakeMaker in 6.22, and merged to blead on 15th December 2004 with 5dca256ec738057dc331fb644a93eca44ad5fa14. After this point MacOS wouldn't even have been able to build the perl binary, because it would not have been able to build DynaLoader. If anyone wishes to resurrect MacOS, start by reversing this commit and the relevant part of that commit.)
* Fix perl #63924: shmget limited to 32 bit segment size on 64 bit OSMarcus Holland-Moritz2009-03-241-3/+3
| | | | | | Make sure the size argument to shmget() is not limited by the width of an int. Instead of storing the argument in an int, just store a pointer to the SV and use different conversions for semget() and shmget().
* Fix change 35082 by manually expanding do_open() to Perl_do_openn().Nicholas Clark2008-12-141-5/+5
| | | p4raw-id: //depot/perl@35088
* Re: [perl #60904] Race condition with perl -i.bkChip Salzenberg2008-12-131-9/+6
| | | | | | | Message-ID: <20081201230112.GH31089@tytlal.topaz.cx> Use mode 0600 (minus umask) for creation of the new file with -i p4raw-id: //depot/perl@35082
* standardize save/restore of errno & vaxc$errnoChip Salzenberg2008-12-051-5/+5
| | | | | Message-ID: <20081127070141.GD17663@tytlal.topaz.cx> p4raw-id: //depot/perl@35018
* Just s/Perl_/S_/ isn't good enough - you also need to add the C<static>Nicholas Clark2008-11-261-1/+1
| | | p4raw-id: //depot/perl@34934
* ingroup() is only used in doio.c.Nicholas Clark2008-11-261-1/+1
| | | | | Wrap gen_constant_list in #if defined(PERL_IN_OP_C) p4raw-id: //depot/perl@34925
* PATCH: Large omnibus patch to clean up the JRRT quotesTom Christiansen2008-11-021-4/+6
| | | | | | Message-ID: <25940.1225611819@chthon> Date: Sun, 02 Nov 2008 01:43:39 -0600 p4raw-id: //depot/perl@34698
* Add MUTABLE_GV(), and eliminate (V *) casts in *.c.Nicholas Clark2008-10-311-10/+10
| | | | | | Can't easily do gv.h, as GvGP() (at least) needs to split into two macros - one const for reading, one non-const for writing. p4raw-id: //depot/perl@34679
* Add MUTABLE_IO(), and eliminate (IO *) casts in *.c.Nicholas Clark2008-10-291-1/+1
| | | p4raw-id: //depot/perl@34654
* Use pvs macros instead of pvn where possible.Marcus Holland-Moritz2008-10-291-5/+5
| | | p4raw-id: //depot/perl@34653
* Update copyright years.Nicholas Clark2008-10-251-2/+2
| | | p4raw-id: //depot/perl@34585
* Some more missing isGV_with_GP()sBen Morrow2008-06-281-10/+10
| | | | | Message-ID: <20080628160017.GA81579@osiris.mauzo.dyndns.org> p4raw-id: //depot/perl@34092
* Double magic/warnings with binmode $fh, undefVincent Pit2008-04-301-4/+2
| | | | | | From: "Vincent Pit" <perl@profvince.com> Message-ID: <63615.92.128.97.94.1209490401.squirrel@92.128.97.94> p4raw-id: //depot/perl@33766
* doio.c:Perl_my_lstat:/* XXX Do really need to be calling SvPV() all these ↵Vincent Pit2008-02-141-4/+5
| | | | | | | | times? */ From: "Vincent Pit" <perl@profvince.com> Message-ID: <37048.147.210.17.175.1202998889.squirrel@147.210.17.175> p4raw-id: //depot/perl@33310
* assert() that every NN argument is not NULL. Otherwise we have theNicholas Clark2008-02-121-1/+37
| | | | | | | | | | | | ability to create landmines that will explode under someone in the future when they upgrade their compiler to one with better optimisation. We've already done this at least twice. (Yes, some of the assertions are after code that would already have SEGVd because it already deferences a pointer, but they are put in to make it easier to automate checking that each and every case is covered.) Add a tool, checkARGS_ASSERT.pl, to check that every case is covered. p4raw-id: //depot/perl@33291
* Extend newSVpvn_flags() to also call sv_2mortal() if SVs_TEMP is set inNicholas Clark2008-01-031-4/+4
| | | | | | the flags. Move its implementation just ahead of sv_2mortal()'s for CPU cache locality. Refactor all code that can be to use this. p4raw-id: //depot/perl@32818
* make miniperl -Wwrite-strings cleanRobin Barker2007-12-201-6/+6
| | | | | | From: "Robin Barker" <Robin.Barker@npl.co.uk> Message-ID: <46A0F33545E63740BC7563DE59CA9C6D09399A@exchsvr2.npl.ad.local> p4raw-id: //depot/perl@32681
* Silence unused argument warnings when HAS_MSG isn't definedRafael Garcia-Suarez2007-11-291-0/+4
| | | p4raw-id: //depot/perl@32547
* In Perl_do_openn() we know the length of oname, so use it when creatingNicholas Clark2007-10-201-1/+1
| | | | | an SV. p4raw-id: //depot/perl@32151
* Given that the buffer for mode in Perl_do_openn() has been initialisedNicholas Clark2007-10-161-10/+10
| | | | | | to all NUL bytes, and the "string" being appended is one character, it's way faster just to write the byte in question to the buffer. p4raw-id: //depot/perl@32113
* Remove some strlen()s and replace one strlcpy() with memcpy() becauseNicholas Clark2007-10-121-1/+1
| | | | | we already know the string length. p4raw-id: //depot/perl@32105
* One const too much. (Unfortunately, the Copy macro castsMarcus Holland-Moritz2007-10-031-1/+1
| | | | | the constness away, so the compiler cannot detect this.) p4raw-id: //depot/perl@32014
* Patches to compile perl on Cray XT4 Catamount/Qk, by JarkkoRafael Garcia-Suarez2007-06-171-1/+1
| | | p4raw-id: //depot/perl@31404
* Add Perl_my_dirfd() to util.cSteve Peters2007-05-011-11/+1
| | | p4raw-id: //depot/perl@31112
* Where possible, use SvIV instead of SvIVX, SvNV instead of SvNVX,Nicholas Clark2007-04-211-11/+11
| | | | | | | | | SvUV instead of SvUVX, and SvPV* variants instead of SvPVX*. Document that the non-x variants are preferable whenever the expression has no side effects. (Compilers perform common subexression elimination). Likewise SvREFCNT_inc simple variants are valid for all cases apart from expressions with side effects. p4raw-id: //depot/perl@31010
* Silence a couple of warnings caused by change #30672.Steve Peters2007-03-211-2/+3
| | | | | p4raw-link: @30672 on //depot/perl: c94db568e030a227855e08f584b1bff860be0cf5 p4raw-id: //depot/perl@30675
* There's no need to special case SVt_NULL in the print code, as it'sNicholas Clark2007-02-141-33/+24
| | | | | | | | only 0.01% of the cases called, and the call to SvPV_const() will issue the same warning and return the same empty string result for us. Unfortunately changing the switch statement to an if results in lots of whitespace changes, hence this change appears much larger than it is. p4raw-id: //depot/perl@30298
* Add av_create_and_push() and av_create_and_unshift_one() to refactorNicholas Clark2007-01-291-3/+2
| | | | | out two repeated idioms. p4raw-id: //depot/perl@30064