]> git.cameronkatri.com Git - bsd-progress.git/commitdiff
progress: Port for Linux and Darwin trunk
authorCameron Katri <me@cameronkatri.com>
Tue, 30 Mar 2021 19:41:44 +0000 (15:41 -0400)
committerCameron Katri <me@cameronkatri.com>
Tue, 30 Mar 2021 21:16:03 +0000 (17:16 -0400)
.gitignore [new file with mode: 0644]
Makefile
progress.c
strsuftoll.c

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..769578e
--- /dev/null
@@ -0,0 +1,2 @@
+*.o
+progress
index 5bcdedfe0743a51582921140cf107898e61a61da..cc9c47d8c41aaa1090a3f72b935083260d40407f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,31 @@
 # $NetBSD: Makefile,v 1.2 2003/01/22 02:56:30 lukem Exp $
 
 # $NetBSD: Makefile,v 1.2 2003/01/22 02:56:30 lukem Exp $
 
-.include <bsd.own.mk>
-
 PROG=  progress
 PROG=  progress
-SRCS=  progress.c progressbar.c
+SRCS=  progress.c progressbar.c strsuftoll.c
+
+
+CPPFLAGS    +=-Iinclude -DSTANDALONE_PROGRESS
+UNAME       ?= $(shell uname)
+PREFIX      ?= /usr
+PROG_PREFIX ?= bsd-
+
+ifeq ($(UNAME), Linux)
+ifeq ($(shell pkg-config libbsd-overlay && echo 1),1)
+       CPPFLAGS+=$(shell pkg-config libbsd-overlay --cflags)
+       LDFLAGS+=$(shell pkg-config libbsd-overlay --libs)
+endif # ($(shell pkg-config libbsd-overlay && echo 1),1)
+endif # ($(UNAME), Linux)
+
+all: $(PROG)
+
+$(PROG): $(SRCS:%.c=%.o)
+       $(CC) $(LDFLAGS) -o $@ $^
 
 
-CPPFLAGS+=-I${NETBSDSRCDIR}/usr.bin/ftp -DSTANDALONE_PROGRESS
+install: $(PROG) progress.1
+       install -Dm755 $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG_PREFIX)$(PROG)
+       install -Dm644 progress.1 $(DESTDIR)$(PREFIX)/share/man/man1/$(PROG_PREFIX)progress.1
 
 
-.PATH: ${NETBSDSRCDIR}/usr.bin/ftp
+clean:
+       rm -f *.o $(PROG)
 
 
-.include <bsd.prog.mk>
+.PHONY: all install clean
index 0c6953820f29503ba57087aa57dd2ed6909d57d7..a921ac99516a388e1e3c2d685aa232768d0942b8 100644 (file)
@@ -29,6 +29,8 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
+#define _GNU_SOURCE
+
 #include <sys/cdefs.h>
 #ifndef lint
 __RCSID("$NetBSD: progress.c,v 1.23 2021/01/07 12:02:52 lukem Exp $");
 #include <sys/cdefs.h>
 #ifndef lint
 __RCSID("$NetBSD: progress.c,v 1.23 2021/01/07 12:02:52 lukem Exp $");
@@ -50,12 +52,18 @@ __RCSID("$NetBSD: progress.c,v 1.23 2021/01/07 12:02:52 lukem Exp $");
 #include <string.h>
 #include <unistd.h>
 
 #include <string.h>
 #include <unistd.h>
 
+       /* LONGLONG */
+long long strsuftoll(const char *, const char *, long long, long long);
+       /* LONGLONG */
+long long strsuftollx(const char *, const char *, long long, long long,
+                       char *, size_t);
+
 #define GLOBAL                 /* force GLOBAL decls in progressbar.h to be
                                 * declared */
 #include "progressbar.h"
 
 static void broken_pipe(int unused);
 #define GLOBAL                 /* force GLOBAL decls in progressbar.h to be
                                 * declared */
 #include "progressbar.h"
 
 static void broken_pipe(int unused);
-__dead static void usage(void);
+static void usage(void);
 
 static void
 broken_pipe(int unused)
 
 static void
 broken_pipe(int unused)
@@ -87,7 +95,7 @@ main(int argc, char *argv[])
        ssize_t nr, nw, off;
        size_t buffersize;
        struct stat statb;
        ssize_t nr, nw, off;
        size_t buffersize;
        struct stat statb;
-       struct ttysize ts;
+       struct winsize wins;
 
        setprogname(argv[0]);
 
 
        setprogname(argv[0]);
 
@@ -199,10 +207,10 @@ main(int argc, char *argv[])
        progress = 1;
        ttyout = eflag ? stderr : stdout;
 
        progress = 1;
        ttyout = eflag ? stderr : stdout;
 
-       if (ioctl(fileno(ttyout), TIOCGSIZE, &ts) == -1)
+       if (ioctl(fileno(ttyout), TIOCGWINSZ, &wins) == -1)
                ttywidth = 80;
        else
                ttywidth = 80;
        else
-               ttywidth = ts.ts_cols;
+               ttywidth = wins.ws_col;
 
        fb_buf = malloc(buffersize);
        if (fb_buf == NULL)
 
        fb_buf = malloc(buffersize);
        if (fb_buf == NULL)
index 80fc52fc9062aed206253edf3a4b76efe300545e..973df9d03e7d024d89540c0b78ea4a00172cb660 100644 (file)
  * SUCH DAMAGE.
  */
 
  * SUCH DAMAGE.
  */
 
-#if HAVE_NBTOOL_CONFIG_H
-#include "nbtool_config.h"
-#endif
-
 #include <sys/cdefs.h>
 
 #if defined(LIBC_SCCS) && !defined(lint)
 __RCSID("$NetBSD: strsuftoll.c,v 1.9 2011/10/22 22:08:47 christos Exp $");
 #endif /* LIBC_SCCS and not lint */
 
 #include <sys/cdefs.h>
 
 #if defined(LIBC_SCCS) && !defined(lint)
 __RCSID("$NetBSD: strsuftoll.c,v 1.9 2011/10/22 22:08:47 christos Exp $");
 #endif /* LIBC_SCCS and not lint */
 
-#ifdef _LIBC
-#include "namespace.h"
-#endif
-
-#if !HAVE_STRSUFTOLL
-
 #include <sys/types.h>
 #include <sys/time.h>
 
 #include <sys/types.h>
 #include <sys/time.h>
 
@@ -88,12 +78,11 @@ __RCSID("$NetBSD: strsuftoll.c,v 1.9 2011/10/22 22:08:47 christos Exp $");
 #include <stdlib.h>
 #include <string.h>
 
 #include <stdlib.h>
 #include <string.h>
 
-#ifdef _LIBC
-# ifdef __weak_alias
-__weak_alias(strsuftoll, _strsuftoll)
-__weak_alias(strsuftollx, _strsuftollx)
-# endif
-#endif /* LIBC */
+       /* LONGLONG */
+long long strsuftoll(const char *, const char *, long long, long long);
+       /* LONGLONG */
+long long strsuftollx(const char *, const char *, long long, long long,
+                       char *, size_t);
 
 /*
  * Convert an expression of the following forms to a (u)int64_t.
 
 /*
  * Convert an expression of the following forms to a (u)int64_t.
@@ -137,9 +126,9 @@ __strsuftollx(const char *desc, const char *val,
        long long num, t;
        char    *expr;
 
        long long num, t;
        char    *expr;
 
-       _DIAGASSERT(desc != NULL);
-       _DIAGASSERT(val != NULL);
-       _DIAGASSERT(ebuf != NULL);
+       (void)(desc != NULL);
+       (void)(val != NULL);
+       (void)(ebuf != NULL);
 
        if (depth > 16) {
                snprintf(ebuf, ebuflen, "%s: Recursion limit exceeded", desc);
 
        if (depth > 16) {
                snprintf(ebuf, ebuflen, "%s: Recursion limit exceeded", desc);
@@ -246,4 +235,3 @@ strsuftollx(const char *desc, const char *val,
 {
        return __strsuftollx(desc, val, min, max, ebuf, ebuflen, 0);
 }
 {
        return __strsuftollx(desc, val, min, max, ebuf, ebuflen, 0);
 }
-#endif /* !HAVE_STRSUFTOLL */