diff options
author | Craig A. Berry <craigberry@mac.com> | 2007-05-27 01:54:45 +0000 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2007-05-27 01:54:45 +0000 |
commit | f36b279dcdcc07778f02e64e91bbb36fc92a5ac6 (patch) | |
tree | fd790fd1af2646d5bb0bcb2baf2f90b5b008b10a /vms | |
parent | f617045b1dc288a3a5c423f1bc2d20a0b872e39e (diff) | |
download | perl-f36b279dcdcc07778f02e64e91bbb36fc92a5ac6.tar.gz |
In the stat() wrapper for VMS, always allow extended characters
(such as multiple dots) in the filename regardless of environment
setting.
p4raw-id: //depot/perl@31283
Diffstat (limited to 'vms')
-rw-r--r-- | vms/vms.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -11187,6 +11187,16 @@ Perl_flex_stat_int(pTHX_ const char *fspec, Stat_t *statbufp, int lstat_flag) * * If we are in Posix filespec mode, accept the filename as is. */ + + +#if __CRTL_VER >= 70300000 && !defined(__VAX) + /* The CRTL stat() falls down hard on multi-dot filenames in unix format unless + * DECC$EFS_CHARSET is in effect, so temporarily enable it if it isn't already. + */ + if (!decc_efs_charset) + decc$feature_set_value(decc$feature_get_index("DECC$EFS_CHARSET"),1,1); +#endif + #if __CRTL_VER >= 80200000 && !defined(__VAX) if (decc_posix_compliant_pathnames == 0) { #endif @@ -11213,6 +11223,13 @@ Perl_flex_stat_int(pTHX_ const char *fspec, Stat_t *statbufp, int lstat_flag) save_spec = temp_fspec; } #endif + +#if __CRTL_VER >= 70300000 && !defined(__VAX) + /* As you were... */ + if (!decc_efs_charset) + decc$feature_set_value(decc$feature_get_index("DECC$EFS_CHARSET"),1,0); +#endif + if (!retval) { char * cptr; cptr = do_rmsexpand |