GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — libgit2/examples/args.h at main · libgit2/libgit2 Expand file tree/ Copy pathargs.hMore file actions 90 lines (78 loc) · 3.04 KB / Copy pathargs.hFile metadata and controls90 lines (78 loc) · 3.04 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 #ifndef INCLUDE_examples_args_h__ #define INCLUDE_examples_args_h__ /** * Argument-processing helper structure */ struct args_info { int argc; char **argv; int pos; unsigned int opts_done : 1; /**< Did we see a -- separator */ }; #define ARGS_INFO_INIT { argc, argv, 0, 0 } #define ARGS_CURRENT(args) args->argv[args->pos] /** * Check if a string has the given prefix. Returns 0 if not prefixed * or the length of the prefix if it is. */ extern size_t is_prefixed(const char *str, const char *pfx); /** * Match an integer string, returning 1 if matched, 0 if not. */ extern int is_integer(int *out, const char *str, int allow_negative); /** * Check current `args` entry against `opt` string. If it matches * exactly, take the next arg as a string; if it matches as a prefix with * an equal sign, take the remainder as a string; if value not supplied, * default value `def` will be given. otherwise return 0. */ extern int optional_str_arg( const char **out, struct args_info *args, const char *opt, const char *def); /** * Check current `args` entry against `opt` string. If it matches * exactly, take the next arg as a string; if it matches as a prefix with * an equal sign, take the remainder as a string; otherwise return 0. */ extern int match_str_arg( const char **out, struct args_info *args, const char *opt); /** * Check current `args` entry against `opt` string parsing as uint16. If * `opt` matches exactly, take the next arg as a uint16_t value; if `opt` * is a prefix (equal sign optional), take the remainder of the arg as a * uint16_t value; otherwise return 0. */ extern int match_uint16_arg( uint16_t *out, struct args_info *args, const char *opt); /** * Check current `args` entry against `opt` string parsing as uint32. If * `opt` matches exactly, take the next arg as a uint16_t value; if `opt` * is a prefix (equal sign optional), take the remainder of the arg as a * uint32_t value; otherwise return 0. */ extern int match_uint32_arg( uint32_t *out, struct args_info *args, const char *opt); /** * Check current `args` entry against `opt` string parsing as int. If * `opt` matches exactly, take the next arg as an int value; if it matches * as a prefix (equal sign optional), take the remainder of the arg as a * int value; otherwise return 0. */ extern int match_int_arg( int *out, struct args_info *args, const char *opt, int allow_negative); /** * Check current `args` entry against a "bool" `opt` (ie. --[no-]progress). * If `opt` matches positively, out will be set to 1, or if `opt` matches * negatively, out will be set to 0, and in both cases 1 will be returned. * If neither the positive or the negative form of opt matched, out will be -1, * and 0 will be returned. */ extern int match_bool_arg(int *out, struct args_info *args, const char *opt); /** * Check if we're processing past the single -- separator */ extern int match_arg_separator(struct args_info *args); /** * Consume all remaining arguments in a git_strarray */ extern void strarray_from_args(git_strarray *array, struct args_info *args); #endif |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |