which duplicates the functionality of is_binmount().
p4raw-id: //depot/perl@31773
When a file is opened it is in either text or binary mode. In text mode
a file is subject to CR/LF/Ctrl-Z translations. With Cygwin, the default
mode for an C<open()> is determined by the mode of the mount that underlies
-the file. See C<Cygwin::is_binmount()> and C<Cygwin::is_textmount()>.
-Perl provides a C<binmode()> function to set binary mode on files
-that otherwise would be treated as text. C<sysopen()> with the C<O_TEXT>
-flag sets text mode on files that otherwise would be treated as binary:
+the file. See C<Cygwin::is_binmount()>. Perl provides a C<binmode()> function
+to set binary mode on files that otherwise would be treated as text.
+C<sysopen()> with the C<O_TEXT> flag sets text mode on files that otherwise
+would be treated as binary:
sysopen(FOO, "bar", O_WRONLY|O_CREAT|O_TEXT)
Returns true if the given cygwin path is binary mounted, false if the
path is mounted in textmode.
-=item C<Cygwin::is_textmount>
-
-Returns true if the given cygwin path is mounted in textmode (C<"\r\n"> C<lt>=C<gt> C<"\n">),
-false if the path is mounted binary. The result is complementary to C<Cygwin::is_binmount()>.
-
=back
=head1 INSTALL PERL ON CYGWIN
XSRETURN(1);
}
-XS(XS_Cygwin_is_textmount)
-{
- dXSARGS;
- char *pathname;
-
- if (items != 1)
- Perl_croak(aTHX_ "Usage: Cygwin::is_textmount(pathname)");
-
- pathname = SvPV_nolen(ST(0));
-
- ST(0) = boolSV(!cygwin_internal(CW_GET_BINMODE, pathname));
- XSRETURN(1);
-}
-
void
init_os_extras(void)
{
newXSproto("Cygwin::mount_table", XS_Cygwin_mount_table, file, "");
newXSproto("Cygwin::mount_flags", XS_Cygwin_mount_flags, file, "$");
newXSproto("Cygwin::is_binmount", XS_Cygwin_is_binmount, file, "$");
- newXSproto("Cygwin::is_textmount", XS_Cygwin_is_textmount, file, "$");
/* Initialize Win32CORE if it has been statically linked. */
handle = dlopen(NULL, RTLD_LAZY);
}
}
-use Test::More tests => 15;
+use Test::More tests => 14;
is(Cygwin::winpid_to_pid(Cygwin::pid_to_winpid($$)), $$,
"perl pid translates to itself");
$mount =~ m|on /usr/bin type .+ \((\w+mode)\)|m;
my $binmode = $1 eq 'binmode';
is(Cygwin::is_binmount("/"), $binmode ? 1 : '', "check / for binmount");
-is(Cygwin::is_textmount("/"), $binmode ? '' : 1, "check / for textmount");
my $rootmnt = Cygwin::mount_flags("/");
ok($binmode ? ($rootmnt =~ /,binmode/) : ($rootmnt =~ /,textmode/), "check / mount_flags");