summaryrefslogtreecommitdiff
path: root/pp_sys.c
Commit message (Collapse)AuthorAgeFilesLines
* syswrite prints garbage if called with empty scalar and non-zero offsetchromatic2009-07-271-1/+1
|
* 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-2/+2
| | | | | | | | (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.)
* Make time64 use NV for time_t, I32 for year, not Quad_t.Craig A. Berry2009-04-251-29/+2
| | | | | | | This means it should run on anything that does not have a 64-bit integer type available but does have a double. Presumably this includes platforms that define PERL_MICRO, so we now use the same extended time implementation for everything that runs Perl.
* GvUNIQUE* have been defined as 0 since 2005/06/30 - high time to remove them.Nicholas Clark2009-04-131-5/+0
|
* Merge commit 'mauzo/over-X' into bleadRafael Garcia-Suarez2009-03-271-2/+52
|\
| * -l was missing an SPAGAIN.Ben Morrow2009-03-251-1/+3
| |
| * Stacked overloaded -X.Ben Morrow2009-03-251-36/+33
| |
| * Finish the rest of the -X ops.Ben Morrow2009-03-251-2/+40
| |
| * Move magic logic into tryAMAGICftest macro.Ben Morrow2009-03-251-11/+1
| |
| * Call -X magic from pp_ftread.Ben Morrow2009-03-251-1/+24
| |
* | Namespace clean-up for time64.Craig A. Berry2009-03-261-2/+2
|/ | | | | | | | | | | | | | | | | | | | All of the time64 functions are only visible within pp_sys.c and are not part of the public API, so make them all static and give them the S_ prefix. A side effect of this is that we now unambiguously use S_localtime64_r and S_gmtime64_r and should no longer collide with system-supplied versions, if any. One possible future direction is that if and when Configure detects any system-supplied *time64_r functions, their prototypes, and their valid time ranges, we could optionally select those instead of the home-grown ones. Another possible future direction is that we could s/S_/Perl_/ and make the *time64_r functions part of the public API in some post-5.10.x release. Currently they are only exposed to the outside world via Perl_pp_gmtime. Also gave some TRACE macros more specific names.
* Ignore the decimal part of any floating point argument passed to localtime ↵Rafael Garcia-Suarez2009-03-131-1/+1
| | | | | | | or gmtime That way the overload warning won't be emitted for non-overflowing floating point values.
* Make overflow warnings in gmtime/localtime only occur when warnings are onRafael Garcia-Suarez2009-03-131-2/+2
|
* Fixing the cast for the result of (getgrent())->gr_gidDavid M. Syzdek2009-03-071-0/+8
| | | | | | | | | | The gr_gid member of struct group is being cast as an int even if system uses an unsigned int. This patch tests for the use of an unsigned int for the gr_gid member and casts the value as appropiate. Created with Arthur Corliss <corliss@corliss@digitalmages.com>. Signed-off-by: David M. Syzdek <david@syzdek.net>
* Skip time64 when there is no 64-bit integer type available.Craig A. Berry2009-02-201-3/+3
| | | | | | | | | | The y2038 code currently requires that a 64-bit integer type be available, so the build falls down hard if we try to use it where there isn't one. A better fix might be to try NV for time_t and a 32-bit integer for year. N.B. We test for the definedness of Quad_t rather than HAS_QUAD since the latter is explicitly undef'd in the case where 64-bit types are available but are not being used for Perl's IV and UV.
* pp_send() doesn't need to allocate 1000 stack slots for syswrite ↵Vincent Pit2009-02-071-3/+2
| | | | $tiedhandle, $buf
* setpgrp() should extend the stack before modifying itNiko Tyni2009-02-041-0/+1
| | | | | As reported by Marcin Owsiany in <http://bugs.debian.org/512796>, invoking setpgrp without any arguments could corrupt the stack.
* Revert "do_exec() is a mathom, so call its replacement directly"Gisle Aas2009-01-291-1/+1
| | | | | | | The change breaks the build on Windows as this function is really only a mathom when PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION is defined. This reverts commit 06ba78de6df7f363272e855cc63710a634eb6100.
* do_exec() is a mathom, so call its replacement directlyGisle Aas2009-01-291-1/+1
|
* microperl has no idea about 64 bit types, so don't use the y2038 code for it.Nicholas Clark2009-01-251-2/+25
|
* consting goodness for time64Robin Barker2009-01-181-1/+1
|
* Merge branch 'schwern/y2038' into bleadRafael Garcia-Suarez2009-01-031-85/+58
|\ | | | | | | | | | | | | | | Conflicts: lib/Time/Local.pm lib/Time/Local.t reentr.h
| * Fix gmtime() and localtime() so they can pop times larger than 2**55 off the ↵Michael G. Schwern2009-01-031-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | stack. Neither POPn nor SvNVx work when casted to (Time64_T). Had to use a double and then cast. Also POPq uses an SvIV so that's no good. This causes an unfortunate loss in accuracy near 2**63 up to 8 minutes. %lld is broken, it uses regular integers. Need to use doubles and %.0f instead, again losing accuracy. Now things can go out to 2**63-512.
| * Fix pulling a large time off the stack by using a real double. What I really ↵Michael G. Schwern2009-01-031-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | need is SvQV. Fix list context with large years. List context can now go to 2**63-513. I don't know why that's not 2**63-1 but I'll take it. Maybe double imprecision. Scalar context with large years still busted. It appears to be something inside Perl_newSVpvf().
| * Remove the AIX work around code. Instead it should just set it's ↵Michael G. Schwern2009-01-031-52/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LOCALTIME_MAX to 0x7fff573e. Update from y2038. Use the new TM64 struct so years can go out past y2**31 Defines a Year type to avoid converting years to ints. Remove the TIMGM work around code, using timegm64() is fine and it saves us from having to convert from TM to tm. Make functions private with static rather than the _foo convention. Even faster for distant dates.
| * Rename localtime64.[ch] to time64.[ch] to mirror change in y2038, and the ↵Michael G. Schwern2009-01-031-2/+2
| | | | | | | | file isn't about just localtime() anymore.
| * Fix the overflow warning to just check for an error.Michael G Schwern2009-01-031-2/+4
| | | | | | | | Fix the overflow warning to identify the right op.
| * Patch in a 64 bit clean gmtime_r() and localtime_r() from the y2038 project. ↵Michael G Schwern2009-01-031-34/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://y2038.googlecode.com/ so Perl is no longer subject to the y2038 bug. Use Quad_t for our 64 bit time_t replacement. Temporarily through out the "broken localtime work around". That will have to be integrated into localtime64_r(). Fix Time::Local to handle the new expanded date range. "use integer" had to go as it pegged scalars to 32 bit integers which aren't large enough to hold the new time range. There are probably portability issues. timegm, for example, is not portable. Also the assumption that "long" is 64 bits is probably wrong.
* | [perl #60978] [PATCH] Tied filehandles can't distinguish eof formsChip Salzenberg2008-12-111-38/+47
| | | | | | | | | | Message-ID: <20081210224524.GD18817@tytlal.topaz.cx> p4raw-id: //depot/perl@35074
* | standardize save/restore of errno & vaxc$errnoChip Salzenberg2008-12-051-4/+4
| | | | | | | | | | Message-ID: <20081127070141.GD17663@tytlal.topaz.cx> p4raw-id: //depot/perl@35018
* | Promote Perl_setdefout() to the public API.Nicholas Clark2008-11-241-0/+11
| | | | | | p4raw-id: //depot/perl@34904
* | PATCH: Large omnibus patch to clean up the JRRT quotesTom Christiansen2008-11-021-0/+2
| | | | | | | | | | | | Message-ID: <25940.1225611819@chthon> Date: Sun, 02 Nov 2008 01:43:39 -0600 p4raw-id: //depot/perl@34698
* | Explicitly specify some printf formats for constant strings.Rafael Garcia-Suarez2008-11-021-1/+1
| | | | | | | | | | | | This is mostly to silence gcc's warning, "format not a string literal and no format arguments". p4raw-id: //depot/perl@34694
* | Add MUTABLE_GV(), and eliminate (V *) casts in *.c.Nicholas Clark2008-10-311-47/+48
| | | | | | | | | | | | 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
* | Eliminate (SV *) casts from the rest of *.c, picking up one (further)Nicholas Clark2008-10-301-36/+36
| | | | | | | | | | erroneous const in dump.c. p4raw-id: //depot/perl@34675
* | The file test operators -s, -A, -C and -M can return false valuesRafael Garcia-Suarez2008-10-301-1/+1
| | | | | | | | | | | | that are not undef or "no". Take that into account when stacking them. This fixes bug #60214. p4raw-id: //depot/perl@34660
* | Add MUTABLE_IO(), and eliminate (IO *) casts in *.c.Nicholas Clark2008-10-291-2/+2
| | | | | | p4raw-id: //depot/perl@34654
* | Use pvs macros instead of pvn where possible.Marcus Holland-Moritz2008-10-291-7/+7
| | | | | | p4raw-id: //depot/perl@34653
* | Add MUTABLE_CV(), and eliminate (CV *) casts in *.c.Nicholas Clark2008-10-291-2/+2
| | | | | | p4raw-id: //depot/perl@34647
* | Every remaining (HV *) cast in *.cNicholas Clark2008-10-281-2/+2
| | | | | | p4raw-id: //depot/perl@34629
* | Update copyright years.Nicholas Clark2008-10-251-1/+1
|/ | | p4raw-id: //depot/perl@34585
* Some more missing isGV_with_GP()sBen Morrow2008-06-281-20/+23
| | | | | Message-ID: <20080628160017.GA81579@osiris.mauzo.dyndns.org> p4raw-id: //depot/perl@34092
* Double magic/warnings with tie $x, $mVincent Pit2008-04-301-3/+5
| | | | | | From: "Vincent Pit" <perl@profvince.com> Message-ID: <62186.92.128.43.82.1209554040.squirrel@92.128.43.82> p4raw-id: //depot/perl@33770
* Double magic/warnings with binmode $fh, undefVincent Pit2008-04-301-2/+6
| | | | | | From: "Vincent Pit" <perl@profvince.com> Message-ID: <63615.92.128.97.94.1209490401.squirrel@92.128.97.94> p4raw-id: //depot/perl@33766
* Perl_gv_fetchmethod{,_autoload,_flags} are actually never* called withNicholas Clark2008-04-171-1/+1
| | | | | | a non-NULL stash. So change the parameter to NN. * Fixed the one really obscure hitherto untested case. p4raw-id: //depot/perl@33706
* Clean up some compiler warnings spotted by smokers.Nicholas Clark2008-04-031-3/+3
| | | p4raw-id: //depot/perl@33639
* Following 33291, on VMS we need to use the same prototypes other platforms Craig A. Berry2008-02-221-2/+2
| | | | | | use in order to get the do_spawn-related assert macros defined. Based on suggestions by John Malmberg. p4raw-id: //depot/perl@33343
* assert() that every NN argument is not NULL. Otherwise we have theNicholas Clark2008-02-121-0/+6
| | | | | | | | | | | | 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
* Split struct block_sub into struct block_sub and struct block_format.Nicholas Clark2008-01-201-1/+1
| | | | | | (CXt_SUB and CXt_FORMAT were using some comon members, but some members were only for one or the other.) p4raw-id: //depot/perl@33014