From 82b3fbec2bc6e20cadcf95f9d6fabe67937fe55a Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Tue, 13 Sep 2016 10:20:18 -0400 Subject: Use return value of getopt in xx On macOS/FreeBSD, optopt is always set after calling getopt. On Linux, optopt is only set if an unrecognized option was found. What is the point of POSIX if such behaviour can differ? --- .bin/xx.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.bin/xx.c b/.bin/xx.c index 867ef8e4..689d3d0b 100755 --- a/.bin/xx.c +++ b/.bin/xx.c @@ -27,20 +27,21 @@ int main(int argc, char **argv) { uint8_t flags = FLAG_ASCII | FLAG_OFFSET; char *path = NULL; - while (getopt(argc, argv, "ac:fg:hk") > 0) { - if (optopt == 'a') + int opt; + while ((opt = getopt(argc, argv, "ac:fg:hk")) > 0) { + if (opt == 'a') flags ^= FLAG_ASCII; - else if (optopt == 'c') + else if (opt == 'c') cols = (size_t) strtol(optarg, NULL, 10); - else if (optopt == 'f') + else if (opt == 'f') flags ^= FLAG_OFFSET; - else if (optopt == 'g') + else if (opt == 'g') group = (size_t) strtol(optarg, NULL, 10); - else if (optopt == 'k') + else if (opt == 'k') flags ^= FLAG_SKIP; else { printf("usage: xx [-afk] [-c N] [-g N] [FILE]\n"); - return (optopt == 'h') ? EXIT_SUCCESS : EXIT_FAILURE; + return (opt == 'h') ? EXIT_SUCCESS : EXIT_FAILURE; } } if (!cols) return EXIT_FAILURE; -- cgit 1.4.1 ype='hidden' name='id' value='5d9fbeab91677ccac995337daf530e8a2d83fd68'/>
path: root/home/.ssh/config (unfollow)
Commit message (Collapse)Author
2019-02-20Factor out html.sh and produce html for all sourcesJune McEnroe
Except for gfx-cocoa because I don't have an Objective-C highlighter. Also hypothetically the .h rule could match up headers with .3 manual pages if I cared to write them.
2019-02-20Add Dirk Gently's Holistic Detective AgencyJune McEnroe
2019-02-20Move /opt/pkg after /usr in PATHJune McEnroe
Installing mandoc from pkgsrc also installs a man executable which is horribly broken. Keep using the system man.
2019-02-20Set man_hard_wrap in nvimJune McEnroe
Vendoring man.vim until <https://github.com/neovim/neovim/pull/9633> is merged and appears in a release.
2019-02-18Use hi -o anchor in upJune McEnroe
2019-02-18Don't match nested parentheses in Tag for CJune McEnroe
Fixes mistaken highlight of: pngWrite(file, (uint8_t []) { 0, 0, 0 }, 3);
2019-02-18Match whitespace between * [] {}June McEnroe
2019-02-18Fix function-like #define regexJune McEnroe
A define like #define FOO (1) is not function-like.
2019-02-18Match Tag in RustJune McEnroe
2019-02-18Match sh functions as TagJune McEnroe
2019-02-18Match Sh and Ss as Tag in mdocJune McEnroe
2019-02-18Match statics and typedefs as TagJune McEnroe
2019-02-18Clean up htmlHeaderJune McEnroe
2019-02-18Remove hi line numberingJune McEnroe
Tags are much better for referring to specific parts of a file and line numbering is better done by a post-processing tool such as cat -n or producing a two-column HTML <table>.
2019-02-18Add Tag class to hiJune McEnroe
2019-02-17Generate HTML with hi -n -f html -o anchorJune McEnroe
Running hi twice to insert stuff between the head and the content is a bit of a hack but oh well.
2019-02-17Add hi -f html -o anchor for line number linksJune McEnroe
2019-02-17Simplify temp trap in upJune McEnroe
2019-02-17Add line numbers to hiJune McEnroe
Renames previous -n option to -m to stay consistent with cat -n. Prefixing lines with line numbers affects where the first tab indent ends up relative to the text above it. Not sure if it's worth fixing somehow.
2019-02-17Always split spans after newlinesJune McEnroe
Simplifies ANSI and IRC output code, and prepares for line numbered output.
2019-02-15Color format specifiers light cyan in vimJune McEnroe
2019-02-15Highlight Interp as yellowJune McEnroe
2019-02-15Highlight strings in sh command substitutionsJune McEnroe
2019-02-15Add nmap gpJune McEnroe
2019-02-14Avoid newline when copying URL to pasteboardJune McEnroe
2019-02-13Add forgotten "sixth" book of H2G2June McEnroe