summaryrefslogtreecommitdiff
path: root/iperlsys.h
Commit message (Collapse)AuthorAgeFilesLines
* add Win32 USE_NO_REGISTRY build optionDaniel Dragan2015-10-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -the first arg of win32_get_privlib is not used if the registry is not queried, create a macro to allow the arg to drop out on WIN32_NO_REGISTRY builds for efficiency and not to have unused C litteral strings in the binary -This patch changes the ABI of PerlEnv_lib_path/PerlEnvLibPath/win32_get_privlib between USE_NO_REGISTRY and no USE_NO_REGISTRY. Since win32_get_privlib is not exported from perl523.dll, assume it and PerlEnv_lib_path are not public API, note technically PerlEnv_lib_path will be callable only on PERL_IMPLICIT_SYS builds, on no PERL_IMPLICIT_SYS builds it will fail at link time since win32_get_privlib isnt exported. Therefore place it in non-[affecting]-binary compatibility even though it does affect binary compatibility. -delay load advapi32.dll to save startup time (loading the DLL and the DLL calling its initializers in DllMain) and one 4 KB memory page for advapi32's .data section (doing "perl -E"sleep 100" on WinXP shows advapi32 has a 20KB long .data section, first 4 KB are unique to the process, the remaining 16KB are COW shared between processes according to vmmap tool), putting a DebugBreak() in pp_getlogin and doing a "nmake all" shows miniperl never calls getlogin during the build process. An nmake test shows only ext/POSIX/t/wrappers.t and lib/warnings.t execute pp_getlogin. Keeping advapi32.dll out of the perl process requires removing comctl32.dll, since comctrl32.dll loads advapi32.dll, from perl which I always do as a custom patch. filed as [perl #123658] XXXXXXXXXXXXXXXXXXXXXXX
* prevent warning noise on mingw-64 buildsTony Cook2015-09-011-0/+2
| | | | | | | | | | | | The following was produced for every non-miniperl object built, including for XS modules and the test builds done by ExtUtils::MakeMaker etc ..\iperlsys.h:640:66: warning: 'struct utimbuf' declared inside parameter list typedef int (*LPLIOUtime)(struct IPerlLIO*, const char*, struct utimbuf*); ^ ..\iperlsys.h:640:66: warning: its scope is only this definition or declaration, which is probably not what you want
* Replace common Emacs file-local variables with dir-localsDagfinn Ilmari Mannsåker2015-03-221-6/+0
| | | | | | | | | | | | | | | | An empty cpan/.dir-locals.el stops Emacs using the core defaults for code imported from CPAN. Committer's work: To keep t/porting/cmp_version.t and t/porting/utils.t happy, $VERSION needed to be incremented in many files, including throughout dist/PathTools. perldelta entry for module updates. Add two Emacs control files to MANIFEST; re-sort MANIFEST. For: RT #124119.
* Externalize decc$ungetc prototype.Craig A. Berry2015-01-291-0/+2
| | | | | | | | Otherwise the VMS C++ compiler mangles it and we get a link failure. And while we're there we can eliminate some PerlIO workarounds for problems in long-defunct versions of the CRTL.
* Eliminate VMS-specific code in PerlIOStdio_fill.Craig A. Berry2014-06-081-1/+1
| | | | | | | | | | | | | | The same logic but with more safety checks is already defined for PerlSIO_ungetc in iperlsys.h, so DRY says we should just use that. Also, that definition in iperlsys.h really depends on the library we are using, not the compiler. And there is only one viable C library on VMS and it ships with the OS, so it's really just an OS dependency. N.B. While it may be something of a fool's errand to maintain the stdio layer, deleting redundant code can only be a good thing, possibly enabling further refactoring and clean-up.
* Stop making assumptions about uids and gids.Brian Fraser2013-06-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The code dealt rather inconsistently with uids and gids. Some places assumed that they could be safely stored in UVs, others in IVs, others in ints; All of them should've been using the macros from config.h instead. Similarly, code that created SVs or pushed values into the stack was also making incorrect assumptions -- As a point of reference, only pp_stat did the right thing: #if Uid_t_size > IVSIZE mPUSHn(PL_statcache.st_uid); #else # if Uid_t_sign <= 0 mPUSHi(PL_statcache.st_uid); # else mPUSHu(PL_statcache.st_uid); # endif #endif The other places were potential bugs, and some were even causing warnings in some unusual OSs, like haiku or qnx. This commit ammends the situation by introducing four new macros, SvUID(), sv_setuid(), SvGID(), and sv_setgid(), and using them where needed.
* update the editor hints for spaces, not tabsRicardo Signes2012-05-291-2/+2
| | | | | This updates the editor hints in our files for Emacs and vim to request that tabs be inserted as spaces.
* 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>
* Update PerlStdIOGets() signatureJan Dubois2010-04-211-4/+4
| | | | | | Brings it in line with the rest of the PerlStdIO* functions that accept parameters in the same order as the corresponding PerlSIO_* macros. See also commit ecc880cc.
* Fix PerlSIO_fputc() and PerlSIO_fputs() signaturesJan Dubois2010-04-211-6/+6
| | | | | | | | | They should have the same prototype as in stdio. This "proper fix" replaces the 5.12.0 compatible fix in commit 634b482, but cannot be integrated into 5.12.1 because it breaks binary compatibility. See also http://rt.perl.org/rt3/Public/Bug/Display.html?id=72704
* Apply minimal patch for Perl bug 72704.Jan Dubois2010-04-211-2/+2
| | | | | | | | | Arguments to fputc() and fputs() are reverted on Windows. This is not the optimal patch, but will be backwards compatible with what is in 5.12.0. For the "correct" patch please see http://rt.perl.org/rt3/Public/Bug/Display.html?id=72704
* Add a parameter to win32_get_{priv,site,vendor}lib(), to return the length,Nicholas Clark2009-02-201-12/+15
| | | | | as we already know it, and use it in S_init_perllib() to save a strlen() in S_incpush_use_sep().
* Silence Borland compiler warnings (except for warnings from zlib) here:Steve Hay2008-02-251-4/+4
| | | | | http://www.nntp.perl.org/group/perl.daily-build.reports/2008/02/msg53937.html p4raw-id: //depot/perl@33370
* Add editor blocks to some header files.Marcus Holland-Moritz2008-01-011-0/+9
| | | p4raw-id: //depot/perl@32793
* Adapt definition of Sighandler_t to go with change #32012Rafael Garcia-Suarez2007-10-031-1/+1
| | | | | p4raw-link: @32012 on //depot/perl: b6455c53c26be8a62e12a3f2a24a3a5086dd2c7b p4raw-id: //depot/perl@32013
* smoke signs suppressionJarkko Hietaniemi2006-12-311-1/+1
| | | | | Message-ID: <4597C078.4000503@iki.fi> p4raw-id: //depot/perl@29645
* smoke signs suppressionJarkko Hietaniemi2006-11-251-1/+1
| | | | | Message-ID: <45687324.3040102@iki.fi> p4raw-id: //depot/perl@29378
* Make PerlLIOUtime()'s filename constSteve Hay2005-11-011-1/+1
| | | | | | | | | Fixes a warning brought about by change #25941 (which made the filename argument const). The various implementations of PerlLIOUtime() (in NetWare/, win32/ and wince/) already take a const filename. p4raw-link: @25941 on //depot/perl: e96b369dc61077fe31b75895167f55dbce4d7519 p4raw-id: //depot/perl@25945
* support POSIX SA_SIGINFOJarkko Hietaniemi2005-07-201-0/+4
| | | | | Message-ID: <42DE3846.6050606@gmail.com> p4raw-id: //depot/perl@25200
* Silence MinGW warning about "'noreturn' function does return"Steve Hay2005-07-011-2/+4
| | | | | (Thanks to Nicholas Clark) p4raw-id: //depot/perl@25041
* Make opendir() filename const in Win32-land & friendsSteve Hay2005-06-241-1/+1
| | | | | | | | That fact that it wasn't const already was highlighted by a warning from pp_open_dir() generated by change 24743. Rather than undo the const change in pp_open_dir(), this seems to make more sense. Hope I haven't broken Netware or WinCE. p4raw-id: //depot/perl@24974
* Fix PerlLIO_chsize() for platforms that don't have chsize()Steve Hay2005-03-291-1/+7
| | | | | | This is the patch from the end of the thread that started here: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2004-09/msg00055.html p4raw-id: //depot/perl@24092
* Put all pre-processor #s on the first column (some compilers are picky)Nicholas Clark2003-10-091-1/+1
| | | | | [perl #24167] `#' comment signs not at the very beginning of a line p4raw-id: //depot/perl@21433
* windows: support for large filesGurusamy Sarathy2002-12-181-1/+1
| | | | | | | | note that this change will break binary compatibility with the default 5.8.0 build options; nevertheless I think it is worth having in 5.8.1 (people who want the compatibility can disable the option in the makefile) p4raw-id: //depot/perl@18327
* integrate a variant of change#17568 from maint-5.6 branch (theGurusamy Sarathy2002-07-161-14/+3
| | | | | | | do_exec parts elided so that change is restricted strictly to windows; binary compatibility stubs not needed) p4raw-link: @17568 on //depot/maint-5.6/perl: 07691bcd6c6d7fd92f508fd5268e700370ea47c2 p4raw-id: //depot/perl@17570
* make the gettimeofday() implementation in Time::HiRes availableGurusamy Sarathy2002-05-081-0/+6
| | | | | from perl p4raw-id: //depot/perl@16503
* Finish off 16350 for non-PERLIO build on linux,Nick Ing-Simmons2002-05-031-2/+2
| | | | | | non PERL_IMPLICIT_SYS parts of iperlsys.h had junk for some slots which now perlsdio.h is targeting. p4raw-id: //depot/perlio@16366
* *** EXPERIMENTAL ***Nick Ing-Simmons2002-05-021-2/+2
| | | | | | | Have perlsdio.h use the iperlsys.h aliases and see if that helps non-PERLIO IMP_SYS on Win32. (Miniperl okay on linux). p4raw-id: //depot/perlio@16350
* NetWare changeover from Watcom to Codewarrior, from C Aditya.Jarkko Hietaniemi2002-04-221-0/+6
| | | p4raw-id: //depot/perl@16076
* Windows 64-bit support:Gurusamy Sarathy2002-04-211-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | * support for building it in the regular makefiles * large files support via the _*i64() functions (this should be portable to the 32-bit universe too, but quite untested and and binary-incompatible, therefore not enabled there) * three additional test failures in addition to the t/end.t one (see README.win32) * sprintf() on Windows gets %I{32,64,}[xoud] format that parallel the ones available from the CRT (needed because Perl uses the UVxf macros in both sprintf() *and* in sv_catpvf() et al.) * add a few 64-bit notes to README.win32 The following general problems were also fixed: * s/struct stat/Stat_t/g * Data::Dumper had some naughty 'long' typecasts * Errno_pm.PL didn't work safe when winsock.h was not in the same directory as errno.h * various tell/seek things were incorrectly prototyped * squelch ugly looking noise when running tests * Embed.t wasn't linking in all the libraries * perl57.dll is now perl58.dll (anticipating 5.8.0-RC1) * re-enable all the disabled warnings (additional fixes may be needed for the warnings uncovered by this) p4raw-id: //depot/perl@16033
* VOS-specific patch to iperlsys.h to work around errno buPaul Green2002-04-011-0/+7
| | | | | Message-Id: <200204012048.PAA05178@mailhub2.stratus.com> p4raw-id: //depot/perl@15666
* NetWare tweaks from C Aditya <caditya@novell.com>Jarkko Hietaniemi2002-03-181-0/+20
| | | p4raw-id: //depot/perl@15292
* alarm(), Win32, no PERL_IMPLICIT_SYSMattia Barbon2002-03-121-0/+2
| | | | | | From: "Mattia Barbon" <mbarbon@dsi.unive.it> Message-Id: <3C8BD9C7.13988.73992D@localhost> p4raw-id: //depot/perl@15191
* Integrate maintperl changes #12268 and #12669;Jarkko Hietaniemi2001-10-261-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | final touches to the audit for statics and thread-unsafe code * make DB_File, ODBM_File thread-safe * remove unnecessary/dangerous statics and protect others from not getting accidentally enabled under threaded perls windows support functions get_childdir() et al aren't exported correctly under vanilla build Testing under win32 appreciated since changes there had to be manually merged and I cannot test how badly did I do. p4raw-link: @12268 on //depot/perlio: bb407f0b8769c638c05e60ebfd157a1e676a6c22 p4raw-id: //depot/perl@12678 p4raw-integrated: from //depot/maint-5.6/perl@12677 'copy in' win32/vmem.h (@5902..) 'merge in' ext/DB_File/DB_File.xs (@8693..) win32/win32iop.h (@8917..) ext/ODBM_File/ODBM_File.xs (@8995..) iperlsys.h (@9154..) scope.c (@9584..) makedef.pl (@11425..) gv.c (@12026..) op.c (@12145..) util.c (@12220..) toke.c (@12550..) ext/B/B.xs ext/File/Glob/Glob.xs ext/Opcode/Opcode.xs ext/re/re.xs (@12653..) mg.c win32/win32.c (@12668..)
* slightly less broken chdir.t for VMSCraig A. Berry2001-09-271-1/+1
| | | | | Message-Id: <5.1.0.14.0.20010926173048.01aac5b0@exchi01> p4raw-id: //depot/perl@12252
* remove deprecated PERL_OBJECT cruft, it has long since stoppedGurusamy Sarathy2001-08-311-5/+0
| | | | | working in 5.7.x p4raw-id: //depot/perl@11803
* Make perl fork()-safe (in a slightly limited way) even onGurusamy Sarathy2001-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | platforms that don't have pthread_atfork() (extension of the fix in change#11151). Note that this will not help extensions that call fork() directly in C, or that link to libraries that call fork() directly. Such cases must be fixed to either call PerlProc_fork(), or call atfork_lock() in parent before the calling the function that forks and call atfork_unlock() in both parent and child immediately after the fork(). (There are no worries if C code calls exec() in the child immediately after a fork(). Only cases where the child calls perl's API functions (including New()) after the fork() are problematic.) This change also eliminates the use of vfork() from perl, since all such uses were violating the severe restrictions on modifying the state of the process between the vfork() and the exec(). This is a modified version of patches suggested by Abhijit Menon-Sen and Richard Soderberg. p4raw-link: @11151 on //depot/perl: 50dd6e574ff39b609595ddb16b2fe9f625a26f8c p4raw-id: //depot/perl@11423
* NetWare port from Guruprasad S <SGURUPRASAD@novell.com>.Jarkko Hietaniemi2001-06-161-0/+4
| | | p4raw-id: //depot/perl@10643
* Fix (valid) -Wall warnings in perlio.cNick Ing-Simmons2001-06-101-1/+1
| | | p4raw-id: //depot/perlio@10504
* PerlIO for VMSCraig A. Berry2001-05-261-1/+11
| | | | | Message-Id: <a05100e0ab734816701a5@[172.16.52.1]> p4raw-id: //depot/perl@10218
* PerlIO fixups for Win32:Nick Ing-Simmons2001-03-241-0/+3
| | | | | | | | | - provide win33_popenlist() - non-functional as yet. - avoid need for aTHX in PerlIO_debug calls - even if not enabled args are still evaluated so Win32 has trouble during fork(). - Add PerlIO/Scalar to list of extensions in win32/makefile.mk - Fixup makedef.pl for latest set of symbols. p4raw-id: //depot/perlio@9321
* Die on n-arg open(...,"",xxx,yyy,...)Nick Ing-Simmons2001-03-221-1/+4
| | | | | | - redirect pipe cases to PerlProc_popen_list() (which just croaks for now) - die on read/write cases so we can decide what it means later. p4raw-id: //depot/perlio@9294
* Integrate change #9154 from maintperl to mainline.Jarkko Hietaniemi2001-03-141-3/+3
| | | | | | | | | | | | PerlIO_stdoutf() wasn't properly supported under PERL_IMPLICIT_SYS (caused Storable 1.0.10 to break on windows) p4raw-link: @9154 on //depot/maint-5.6/perl: 241ea079897f140daac27d059c9935e78ec152ec p4raw-id: //depot/perl@9156 p4raw-integrated: from //depot/maint-5.6/perl@9155 'copy in' globals.c (@5902..) 'merge in' global.sym (@8599..) iperlsys.h (@8800..) objXSUB.h perlapi.c (@8993..) embed.h embed.pl proto.h (@9108..)
* Fix gross PerlMemShared issue.Nick Ing-Simmons2000-12-051-14/+14
| | | p4raw-id: //depot/perlio@8000
* PERL_IMPLICIT_SYS (almost) works - something odd with "signal"Nick Ing-Simmons2000-12-041-0/+4
| | | p4raw-id: //depot/perlio@7983
* PERL_IMPLICIT_SYS compiles but does not work.Nick Ing-Simmons2000-12-031-17/+13
| | | p4raw-id: //depot/perlio@7970
* Make iperlsys.h vector stdio not PerlIO.Nick Ing-Simmons2000-12-031-100/+152
| | | p4raw-id: //depot/perlio@7961
* Initial tidy of setmode() muddle (UNIX does not have, nor need it).Nick Ing-Simmons2000-11-281-0/+5
| | | p4raw-id: //depot/perlio@7906
* PerlIO #include and #ifdef re-work.Nick Ing-Simmons2000-11-141-218/+7
| | | p4raw-id: //depot/perlio@7684
* PerlIO infrastructure complete.Nick Ing-Simmons2000-11-041-6/+14
| | | p4raw-id: //depot/perlio@7539