MAXLINE=$(top_srcdir)/scripts/maxline
# Maximum number of columns accepted in the ASCII version of the manpage
-MAXCOLS=100
INCDIR=$(top_srcdir)/include
if BUILD_DOCS
$(GEN)(rm -f $(MANPAGE) && @PERL@ $(MANAGEN) -d $(srcdir) -I $(INCDIR) mainpage $(DPAGES) > manpage.tmp.$$$$ && mv manpage.tmp.$$$$ $(MANPAGE))
$(ASCIIPAGE): $(DPAGES) $(SUPPORT) mainpage.idx Makefile.inc $(MANAGEN)
- $(GEN)(rm -f $(ASCIIPAGE) && @PERL@ $(MANAGEN) -d $(srcdir) -I $(INCDIR) ascii $(DPAGES) | @PERL@ $(MAXLINE) $(MAXCOLS) > asciipage.tmp.$$$$ && mv asciipage.tmp.$$$$ $(ASCIIPAGE))
+ $(GEN)(rm -f $(ASCIIPAGE) && @PERL@ $(MANAGEN) -d $(srcdir) -I $(INCDIR) ascii $(DPAGES) > asciipage.tmp.$$$$ && mv asciipage.tmp.$$$$ $(ASCIIPAGE))
listhelp:
$(MANAGEN) -d $(srcdir) listhelp $(DPAGES) > $(top_builddir)/src/tool_listhelp.c
If filename/path contains ',' or ';', it must be quoted by double-quotes like:
- curl -F "file=@\"local,file\";filename=\"name;in;post\"" example.com
+ curl -F "file=@\"local,file\";filename=\"name;in;post\"" \
+ https://example.com
or
- curl -F 'file=@"local,file";filename="name;in;post"' example.com
+ curl -F 'file=@"local,file";filename="name;in;post"' \
+ https://example.com
Note that if a filename/path is quoted by double-quotes, any double-quote
or backslash within the filename must be escaped by backslash.
Quoting must also be applied to non-file data if it contains semicolons,
leading/trailing spaces or leading double quotes:
- curl -F 'colors="red; green; blue";type=text/x-myapp' example.com
+ curl -F 'colors="red; green; blue";type=text/x-myapp' \
+ https://example.com
You can add custom headers to the field by setting headers=, like
If you run a local IPFS node, this gateway is by default available under
`http://localhost:8080`. A full example URL would look like:
- curl --ipfs-gateway http://localhost:8080 ipfs://bafybeigagd5nmnn2iys2f3
+ curl --ipfs-gateway http://localhost:8080 \
+ ipfs://bafybeigagd5nmnn2iys2f3
There are many public IPFS gateways. See for example:
https://ipfs.github.io/public-gateway-checker/
EXTRA_DIST = coverage.sh completion.pl firefox-db2pem.sh checksrc.pl \
mk-ca-bundle.pl schemetable.c cd2nroff nroff2cd cdall cd2cd managen \
- dmaketgz release-tools.sh verify-release maxline
+ dmaketgz release-tools.sh verify-release
ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@
my $year = strftime "%Y", @ts;
my $version = "unknown";
my $globals;
-
+my $error = 0;
my $indent = 4;
# get the long name version, return the manpage string
sub lastline {
my ($lvl, @line) = @_;
- prefixline($lvl * $indent);
+ $line[0] =~ s/^( +)//;
+ prefixline($lvl * $indent + length($1));
my $prev = 0;
for(@line) {
printf "%s%s", $prev?" ":"", $_;
# quoted, do not right-justify
chomp $l;
lastline($baselvl + $lvl + 1, $l);
+ my $w = ($baselvl + $lvl + 1) * $indent + length($l);
+ if ($w > $colwidth) {
+ print STDERR "ERROR: $w columns is too long\n";
+ print STDERR "$l\n";
+ $error++;
+ }
}
else {
$para .= $l;
return @desc;
}
+sub maybespace {
+ my ($string) = @_;
+
+ if(($string =~ /(.* )(.*)/) &&
+ (length($2) <= 20)) {
+ return $1;
+ }
+ if(($string =~ /(.*:)(.*)/) &&
+ (length($2) <= 20)) {
+ return $1;
+ }
+ return $string;
+}
+
sub single {
my ($dir, $manpage, $f, $standalone)=@_;
my $fh;
else {
my @ex;
push @ex, "[0q]Example$s:\n";
+ #
+ # long ASCII examples are wrapped. Preferably at the last space
+ # before the margin. Or at a colon. Otherwise it just cuts at the
+ # exact boundary.
+ #
foreach my $e (@examples) {
$e =~ s!\$URL!https://example.com!g;
- push @ex, "[0q] curl $e\n";
+ my $maxwidth = 60; # plus the " curl " 18 col prefix
+ if(length($e) > $maxwidth) {
+ # a long example, shorten it
+ my $p = substr($e, 0, $maxwidth);
+ $p = maybespace($p);
+ push @ex, "[0q] curl ".$p."\\";
+ $e = substr($e, length($p));
+ do {
+ my $r = substr($e, 0, $maxwidth);
+ if(length($e) > $maxwidth) {
+ $r = maybespace($r);
+ }
+ my $slash ="";
+ $e = substr($e, length($r));
+ if(length($e) > 0) {
+ $slash = "\\";
+ }
+
+ push @ex, "[0q] $r$slash" if($r);
+ } while(length($e));
+ }
+ else {
+ push @ex, "[0q] curl $e\n";
+ }
}
printdesc($manpage, 2, @ex);
}
indexoptions($dir, @files);
getargs($dir, $cmd, @files);
+
+exit $error;
+++ /dev/null
-#!/usr/bin/env perl
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at https://curl.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-# SPDX-License-Identifier: curl
-#
-###########################################################################
-
-# The provided value is the max allowed length.
-my $max = $ARGV[0];
-my $line = 0;
-my $error;
-while(<STDIN>) {
- my $i = length($_);
- $line++;
- if($i > $max) {
- print STDERR "<STDIN>:$line ERROR line too long, $i > $max\n";
- print STDERR "<STDIN>:$line $_";
- $error++;
- }
- print $_;
-}
-exit $error;