From 453d3b1a7258a52781e5120eeb17a371b2860e9f Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=98yvind=20A=2E=20Holm?= Date: Sun, 6 Oct 2024 21:19:48 +0200 Subject: [PATCH] bpakk: Sync against Lib/std/sh and add some info 1a64a7a6-8418-11ef-a810-83850402c3ce --- bpakk | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 81 insertions(+), 11 deletions(-) rewrite bpakk (66%) diff --git a/bpakk b/bpakk dissimilarity index 66% index 09f00838..fffb0d8f 100755 --- a/bpakk +++ b/bpakk @@ -1,11 +1,81 @@ -#!/bin/sh - -# bpakk -# File ID: 2a4e251e-7b6f-11df-b25f-00219bfade9b - -if [ "$1" = "-d" ]; then - base64 -di | gunzip --stdout --force -else - gzip -9 | base64 -w 8 "$@" | tr '\n' ' ' | sed 's/ $//' - echo -fi +#!/bin/sh + +#============================================================================== +# bpakk +# File ID: 2a4e251e-7b6f-11df-b25f-00219bfade9b +# +# Pack stdin with gzip and encapsulate it in base64. +# +# Author: Øyvind A. Holm +# License: GNU General Public License version 2 or later. +#============================================================================== + +progname=bpakk +VERSION=0.0.0 + +std_w=8 + +opt_decode=0 +opt_help=0 +opt_quiet=0 +opt_verbose=0 +opt_w=$std_w + +while test -n "$1"; do + case "$1" in + -d|--decode) opt_decode=1; shift ;; + -h|--help) opt_help=1; shift ;; + -q|--quiet) opt_quiet=$(($opt_quiet + 1)); shift ;; + -v|--verbose) opt_verbose=$(($opt_verbose + 1)); shift ;; + -w) opt_w="$2"; shift 2 ;; + --version) echo $progname $VERSION; exit 0 ;; + --) shift; break ;; + *) + if printf '%s\n' "$1" | grep -q ^-; then + echo "$progname: $1: Unknown option" >&2 + exit 1 + else + break + fi + break ;; + esac +done +opt_verbose=$(($opt_verbose - $opt_quiet)) + +if test "$opt_help" = "1"; then + test $opt_verbose -gt 0 && { echo; echo $progname $VERSION; } + cat <