From: Daniel Stenberg Date: Tue, 25 Jun 2024 11:37:51 +0000 (+0200) Subject: managen: output tabs for each 8 leading spaces X-Git-Tag: curl-8_9_0~191 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=473ec8a05dfa2c25af3b58a3d889c16e3796a720;p=thirdparty%2Fcurl.git managen: output tabs for each 8 leading spaces This replacing of eight leading spaces into tabs was already done for the embedded uncompressed version in tool_hugehelp.c so it does not save anything there. But the gzip compressed version ends up almost 2K smaller. The output in a terminal should be identical. Before using TABs: curl.txt 282492 bytes curl.txt.gz 73261 bytes With this change applied: curl.txt 249382 bytes curl.txt.gz 71470 bytes Closes #14016 --- diff --git a/scripts/managen b/scripts/managen index c56cb86a1f..ef30e7e163 100755 --- a/scripts/managen +++ b/scripts/managen @@ -89,6 +89,12 @@ sub manpageify { my $colwidth=79; # max number of columns +sub prefixline { + my ($num) = @_; + print "\t" x ($num/8); + print ' ' x ($num%8); +} + sub justline { my ($lvl, @line) = @_; my $w = -1; @@ -105,7 +111,7 @@ sub justline { $ratio = $inject / $spaces; } my $spare = 0; - print ' ' x ($lvl * $indent); + prefixline($lvl * $indent); my $prev; for(@line) { while($spare >= 0.90) { @@ -121,7 +127,7 @@ sub justline { sub lastline { my ($lvl, @line) = @_; - print ' ' x ($lvl * $indent); + prefixline($lvl * $indent); my $prev = 0; for(@line) { printf "%s%s", $prev?" ":"", $_; diff --git a/src/mkhelp.pl b/src/mkhelp.pl index 52b6e13e34..96c2b4192b 100755 --- a/src/mkhelp.pl +++ b/src/mkhelp.pl @@ -167,6 +167,7 @@ for my $n (@out) { chomp $n; $n =~ s/\\/\\\\/g; $n =~ s/\"/\\\"/g; + $n =~ s/\t/\\t/g; if(!$n) { $blank++;