Date: 04 Nov 2002 12:54:22 -0600 From: Craig Boston <craig@gjgth.gank.org> To: current@freebsd.org Subject: Patch for fetch Message-ID: <1036436066.94641.130.camel@owen1492.it.oot>
next in thread | raw e-mail | index | archive | help
--=-15TnTTgUC2wpVei0VopM
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
The attached is a quick patch for fetch(1). It adds a new option (-g)
that forces the transfer progress to be printed, even if it thinks that
stderr is not a tty or that it is not the foreground process.
This is useful for me in a program that runs "make fetch" in a port
directory through a pipe and wants to keep tabs on the download
progress. Modifying fetch seemed to be the simplest and most
straightforward of all my options; rather than requiring wget or
re-implementing some of make's logic.
Hopefully this will be useful to someone in a similar situation.
Craig Boston
--=-15TnTTgUC2wpVei0VopM
Content-Disposition: attachment; filename=fetch.patch
Content-Transfer-Encoding: quoted-printable
Content-Type: text/x-patch; name=fetch.patch; charset=ISO-8859-1
Index: fetch.1
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/src/usr.bin/fetch/fetch.1,v
retrieving revision 1.48
diff -u -r1.48 fetch.1
--- fetch.1 2002/04/19 23:35:12 1.48
+++ fetch.1 2002/11/04 16:39:37
@@ -102,6 +102,8 @@
on the remote host.
This option is deprecated and is provided for backward compatibility
only.
+.It Fl g
+Force output of transfer progress even if stderr is not a tty.
.It Fl h Ar host
The file to retrieve is located on the host
.Ar host .
Index: fetch.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/src/usr.bin/fetch/fetch.c,v
retrieving revision 1.54
diff -u -r1.54 fetch.c
--- fetch.c 2002/10/27 17:33:08 1.54
+++ fetch.c 2002/11/04 16:39:37
@@ -58,6 +58,7 @@
int d_flag; /* -d: direct connection */
int F_flag; /* -F: restart without checking mtime */
char *f_filename; /* -f: file to fetch */
+int g_flag; /* -g: force progress output */
char *h_hostname; /* -h: host to fetch from */
int l_flag; /* -l: link rather than copy file: URLs */
int m_flag; /* -[Mm]: mirror mode */
@@ -128,12 +129,12 @@
struct timeval now;
int ctty_pgrp;
=20
- if (!v_tty || !v_level)
+ if (!g_flag && (!v_tty || !v_level))
return;
=20
/* check if we're the foreground process */
- if (ioctl(STDERR_FILENO, TIOCGPGRP, &ctty_pgrp) =3D=3D -1 ||
- (pid_t)ctty_pgrp !=3D pgrp)
+ if (!g_flag && (ioctl(STDERR_FILENO, TIOCGPGRP, &ctty_pgrp) =3D=3D -1 ||
+ (pid_t)ctty_pgrp !=3D pgrp))
return;
=20
gettimeofday(&now, NULL);
@@ -669,7 +670,7 @@
int c, e, r;
=20
while ((c =3D getopt(argc, argv,
- "146AaB:bc:dFf:Hh:lMmnPpo:qRrS:sT:tUvw:")) !=3D -1)
+ "146AaB:bc:dFf:gHh:lMmnPpo:qRrS:sT:tUvw:")) !=3D -1)
switch (c) {
case '1':
once_flag =3D 1;
@@ -706,6 +707,9 @@
break;
case 'f':
f_filename =3D optarg;
+ break;
+ case 'g':
+ g_flag =3D 1;
break;
case 'H':
warnx("the -H option is now implicit, "
--=-15TnTTgUC2wpVei0VopM--
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1036436066.94641.130.camel>
