From 567498ffa39760b28e860346259ff464e00ca8d8 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Mon, 19 Feb 2018 17:47:25 -0500 Subject: Add pngo command line options --- bin/README | 4 ++++ bin/pngo.c | 26 +++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/README b/bin/README index 32f9862d..4e4a8d9d 100644 --- a/bin/README +++ b/bin/README @@ -86,6 +86,10 @@ PNG optimizer. Does not support interlaced PNGs. - Applies a simple filter type heuristic - Applies zlib's best compression + pngo foo.png + pngo -o bar.png foo.png + pngo -c foo.png | xx + wake Broadcasts a wake-on-LAN packet to one of my machines. diff --git a/bin/pngo.c b/bin/pngo.c index 993593f4..90ebeea8 100644 --- a/bin/pngo.c +++ b/bin/pngo.c @@ -529,7 +529,7 @@ static void optimize(const char *inPath, const char *outPath) { if (outPath) { path = outPath; - file = fopen(path, "wx"); + file = fopen(path, "w"); if (!file) err(EX_CANTCREAT, "%s", path); } else { path = "(stdout)"; @@ -548,7 +548,27 @@ static void optimize(const char *inPath, const char *outPath) { } int main(int argc, char *argv[]) { - if (argc < 2) return EX_USAGE; - optimize(argv[1], NULL); + bool stdio = false; + char *output = NULL; + + int opt; + while (0 < (opt = getopt(argc, argv, "co:"))) { + switch (opt) { + case 'c': stdio = true; break; + case 'o': output = optarg; break; + default: return EX_USAGE; + } + } + + if (optind < argc) { + if (output || stdio) { + optimize(argv[optind], output); + } else { + optimize(argv[optind], argv[optind]); + } + } else { + optimize(NULL, output); + } + return EX_OK; } -- cgit 1.4.1 form>
path: root/bin/man1/glitch.1 (unfollow)
Commit message (Expand)Author
2019-11-01Add uber messageJune McEnroe
2019-11-01Use initial in git authorJune McEnroe
2019-11-01Add Hobo Johnson and The Lovemakers Tiny DeskJune McEnroe
2019-10-30Use braces in causal.agency MakefileJune McEnroe
2019-10-30Add scheme "screenshot" to causal.agencyJune McEnroe
2019-10-30Add pounce to causal.agencyJune McEnroe
2019-10-28Mark ' for \aJune McEnroe
2019-10-23Add The Book of the Unnamed MidwifeJune McEnroe
2019-10-22Add ConcreteJune McEnroe
2019-10-14Set the write variable for nvim man modeJune McEnroe
2019-10-13Add All Systems RedJune McEnroe
2019-10-10Add The Book of PhoenixJune McEnroe
2019-10-03Add two Kim Petras songsJune McEnroe
2019-10-02Update neovim 0.4.2June McEnroe
2019-10-02Claim to be curl(1) in titleJune McEnroe
2019-10-02Add The Red Threads of FortuneJune McEnroe
2019-09-28Add The Black Tides of HeavenJune McEnroe
2019-09-27Fail on HTTP failure status in titleJune McEnroe
2019-09-23Add Trail of LightningJune McEnroe
2019-09-22Revert "Enable cookies in title"June McEnroe
2019-09-20Enable cookies in titleJune McEnroe
2019-09-16Use sensitivity aliases in TF2June McEnroe
2019-09-16Add The Just CityJune McEnroe
2019-09-12Only GET the final redirect locationJune McEnroe
2019-09-12Consume entire bodyJune McEnroe
2019-09-10Add title -v flagJune McEnroe
2019-09-10Use curl error bufferJune McEnroe
2019-09-10Set Accept-Encoding in titleJune McEnroe
2019-09-08Set title User-AgentJune McEnroe
2019-09-07Add -x flag to titleJune McEnroe
2019-09-07Ignore SIGPIPE in relayJune McEnroe
2019-09-07Add A Memory Called EmpireJune McEnroe
2019-09-05Handle lack of Content-TypeJune McEnroe
2019-09-05Use CURLINFO_CONTENT_TYPEJune McEnroe
2019-09-05Decode entities in titlesJune McEnroe
2019-09-05Print title as soon as it's availableJune McEnroe
2019-09-05Use CURL_PREFIX to set flagsJune McEnroe
2019-09-05Add titleJune McEnroe
2019-09-04Add Avorter n'est pas tuerJune McEnroe
2019-08-29Unset executable on shell scriptsJune McEnroe
2019-08-29Add long-missing setopt to bin.7June McEnroe
2019-08-29Add editJune McEnroe