Craig A. Berry wrote:
Change 25824 by [EMAIL PROTECTED] on 2005/10/22 16:43:40
VMS threaded build fixes for things broken in #25783
- if (eqv && *eqv) Perl_my_chdir(eqv);
+ if (eqv && *eqv) my_chdir(eqv);
So I do not break things again, can you explain to me what the
difference between these two definitions are?
To put in support for the long filenames means that I will need to
replace most places that to_vmsspec is used with the rmsexpand() routine
instead so that I can be sure that the resulting VMS file specification
will fit in 255 characters.
To put in support for the EFS character set and proper handling of UNIX
file specifications, I have to avoid translating UNIX names to VMS if
the resulting routine can handle a UNIX format name.
- mp_do_pathify_dirspec(name, remove_name, 0);
+ do_pathify_dirspec(name, remove_name, 0);
- mp_do_pathify_dirspec(name, remove_name, 0);
+ do_pathify_dirspec(name, remove_name, 0);
- else retval = mp_do_kill_file(dirfile, 1);
+ else retval = mp_do_kill_file(aTHX_ dirfile, 1);
- islnm = my_trnlnm(vmspath, esa, 0);
- trnend = islnm ? strlen(esa) - 1 : 0;
+ islnm = vmstrnenv(vmspath, esa, 0, fildev, 0);
+ trnend = islnm ? islnm - 1 : 0;
And these likewise?
- entry = Perl_readdir(dd);
+ entry = readdir(dd);
*result = entry;
retval = ( *result == NULL ? errno : 0 );
This will probably break with the Posix Pathname mode. I think it will
need to call the CRTL readdir() routine from vms.c instead of the
replacement routines or that symbolic links will not be processed correctly.
There should not in any case be a public routine in vms.c with the same
name as an existing CRTL routine of the same name.
And unless I got the previous change wrong, readdir() is should now be
calling the real CRTL readdir().
==== //depot/perl/vms/vmsish.h#73 (text) ====
Index: perl/vms/vmsish.h
--- perl/vms/vmsish.h#72~25801~ Tue Oct 18 17:29:00 2005
+++ perl/vms/vmsish.h Sat Oct 22 09:43:40 2005
@@ -234,14 +234,6 @@
#define init_os_extras Perl_init_os_extras
#define vms_realpath(a, b) Perl_vms_realpath(aTHX_ a,b)
#define vms_case_tolerant(a) Perl_vms_case_tolerant(a)
-#define vms_decc_feature_get_name(a) \
- Perl_vms_decc_feature_get_name(aTHX_ a)
-#define vms_decc_feature_get_value(a, b) \
- Perl_vms_decc_feature_get_value(aTHX_ a, b)
-#define vms_decc_feature_set_value(a, b, c) \
- Perl_vms_decc_feature_set_value(aTHX_ a, b, c)
-#define vms_decc_feature_get_index(a) \
- Perl_vms_decc_feature_get_index(aTHX_ a)
So you do not want these in until the real functions are implemented?
-John
[EMAIL PROTECTED]
Personal Opinion Only