]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmdline-opts/gen.pl: Open input files in CRLF mode
authorJay Satiro <raysatiro@yahoo.com>
Mon, 16 Jan 2017 23:26:08 +0000 (18:26 -0500)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 23 Jan 2017 12:57:54 +0000 (13:57 +0100)
On Windows it's possible to have input files with CRLF line endings and
a perl that defaults to LF line endings (eg msysgit). Currently that
results in generator output of mixed line endings of CR, LF and CRLF.

This change fixes that issue in the most succinct way by opening the
files in :crlf text mode even when the perl being used does not default
to that mode. (On operating systems that don't have a separate text mode
it's essentially a no-op.) The output continues to be in the perl's
native line ending.

docs/cmdline-opts/gen.pl
docs/cmdline-opts/use-ascii.d

index c8b129360bf043c5556c7167095857f13f35f16d..89a5df845896344fb03e62ba2f75c75a3d03597c 100755 (executable)
@@ -1,5 +1,21 @@
 #!/usr/bin/perl
 
+=begin comment
+
+This script generates the manpage.
+
+Example: gen.pl mainpage > curl.1
+
+Dev notes:
+
+We open *input* files in :crlf translation (a no-op on many platforms) in
+case we have CRLF line endings in Windows but a perl that defaults to LF.
+Unfortunately it seems some perls like msysgit can't handle a global input-only
+:crlf so it has to be specified on each file open for text input.
+
+=end comment
+=cut
+
 my $some_dir=".";
 
 opendir(my $dh, $some_dir) || die "Can't opendir $some_dir: $!";
@@ -85,7 +101,7 @@ sub added {
 
 sub single {
     my ($f, $standalone)=@_;
-    open(F, "<$f") ||
+    open(F, "<:crlf", "$f") ||
         return 1;
     my $short;
     my $long;
@@ -219,7 +235,7 @@ sub single {
 
 sub getshortlong {
     my ($f)=@_;
-    open(F, "<$f");
+    open(F, "<:crlf", "$f");
     my $short;
     my $long;
     my $help;
@@ -265,7 +281,7 @@ sub indexoptions {
 
 sub header {
     my ($f)=@_;
-    open(F, "<$f");
+    open(F, "<:crlf", "$f");
     my @d;
     while(<F>) {
         push @d, $_;
index da307dc4d34cda4af7aae5e900188229eabb8f57..d59fad9225a124ad957baa92d2ab016bfabcd33b 100644 (file)
@@ -3,6 +3,6 @@ Long: use-ascii
 Help: Use ASCII/text transfer
 Protocols: FTP LDAP
 ---
-Enable ASCII transfer. For FTP, this can also be enforced by using an URL that
+Enable ASCII transfer. For FTP, this can also be enforced by using a URL that
 ends with ";type=A". This option causes data sent to stdout to be in text mode
 for win32 systems.