From 0aeec783d18ec1f63e58c8e9cc3eacc39f261e41 Mon Sep 17 00:00:00 2001 From: John Kerl Date: Wed, 17 Jun 2015 20:47:49 -0400 Subject: [PATCH] neaten --- c/cli/argparse.c | 7 +++--- c/mapping/mapper_join.c | 52 ++++++++++++++++++++++++++--------------- doc/index-snippet-2.txt | 2 +- doc/index.html | 2 +- 4 files changed, 39 insertions(+), 24 deletions(-) diff --git a/c/cli/argparse.c b/c/cli/argparse.c index 10dfdbc0f..070e85c60 100644 --- a/c/cli/argparse.c +++ b/c/cli/argparse.c @@ -5,9 +5,10 @@ // ================================================================ #define AP_INT_VALUE_FLAG 0xf6 #define AP_INT_FLAG 0xe7 -#define AP_DOUBLE_FLAG 0xd8 -#define AP_STRING_FLAG 0xc9 -#define AP_STRING_LIST_FLAG 0xba +#define AP_CHAR_FLAG 0xd8 +#define AP_DOUBLE_FLAG 0xc9 +#define AP_STRING_FLAG 0xba +#define AP_STRING_LIST_FLAG 0xab typedef struct _ap_flag_def_t { char* flag_name; diff --git a/c/mapping/mapper_join.c b/c/mapping/mapper_join.c index f6dd7433b..1b3d2c877 100644 --- a/c/mapping/mapper_join.c +++ b/c/mapping/mapper_join.c @@ -223,25 +223,6 @@ static void mapper_join_usage(char* argv0, char* verb) { fprintf(stdout, "-e EMPTY\n"); } -// --irs x -// --ifs x -// --ips x -// --idkvp -// --inidx -// --icsv -// --ipprint -// --ixtab -// --use-mmap -// --no-mmap - -// char irs; -// char ifs; -// char ips; -// int allow_repeat_ifs; -// int allow_repeat_ips; -// char* ifmt; -// int use_mmap_for_read; - // ---------------------------------------------------------------- static mapper_t* mapper_join_parse_cli(int* pargi, int argc, char** argv) { mapper_join_opts_t* popts = mlr_malloc_or_die(sizeof(mapper_join_opts_t)); @@ -254,6 +235,14 @@ static mapper_t* mapper_join_parse_cli(int* pargi, int argc, char** argv) { popts->emit_left_unpairables = FALSE; popts->emit_right_unpairables = FALSE; + popts->irs = OPTION_UNSPECIFIED; + popts->ifs = OPTION_UNSPECIFIED; + popts->ips = OPTION_UNSPECIFIED; + popts->allow_repeat_ifs = OPTION_UNSPECIFIED; + popts->allow_repeat_ips = OPTION_UNSPECIFIED; + popts->use_mmap_for_read = OPTION_UNSPECIFIED; + // xxx ifmt ... + char* verb = argv[(*pargi)++]; ap_state_t* pstate = ap_alloc(); @@ -266,6 +255,31 @@ static mapper_t* mapper_join_parse_cli(int* pargi, int argc, char** argv) { ap_define_true_flag(pstate, "--ur", &popts->emit_right_unpairables); ap_define_true_flag(pstate, "-u", &popts->allow_unsorted_input); +// xxx to do: +// char flags: +// --irs x +// --ifs x +// --ips x + + // xxx to impl + // ap_define_char_flag(pstate, "--irs", &popts->irs); + // ap_define_char_flag(pstate, "--ifs", &popts->ifs); + // ap_define_char_flag(pstate, "--ips", &popts->ips); + ap_define_true_flag(pstate, "--repifs", &popts->allow_repeat_ifs); + ap_define_true_flag(pstate, "--repips", &popts->allow_repeat_ips); + ap_define_true_flag(pstate, "--use-mmap", &popts->use_mmap_for_read); + ap_define_false_flag(pstate, "--no-mmap", &popts->use_mmap_for_read); + +// string flags: +// char* ifmt; +// --idkvp +// --inidx +// --icsv +// --ipprint +// --ixtab +// --use-mmap +// --no-mmap + if (!ap_parse(pstate, verb, pargi, argc, argv)) { mapper_join_usage(argv[0], verb); return NULL; diff --git a/doc/index-snippet-2.txt b/doc/index-snippet-2.txt index 98712c2b2..1ecb25c97 100644 --- a/doc/index-snippet-2.txt +++ b/doc/index-snippet-2.txt @@ -1,4 +1,4 @@ % mlr --csv cut -f hostname,uptime mydata.csv -% mlr --csv sort hostname,uptime mydata.csv +% mlr --csv sort -f hostname,uptime mydata.csv % mlr --csv put '$z = $x + 2.7*$y' mydata.csv % mlr --csv filter '$status != "down"' mydata.csv diff --git a/doc/index.html b/doc/index.html index 291231a13..1f523cee4 100644 --- a/doc/index.html +++ b/doc/index.html @@ -105,7 +105,7 @@ positional indices. For example:
 % mlr --csv cut -f hostname,uptime mydata.csv
-% mlr --csv sort   hostname,uptime mydata.csv
+% mlr --csv sort -f hostname,uptime mydata.csv
 % mlr --csv put '$z = $x + 2.7*$y' mydata.csv
 % mlr --csv filter '$status != "down"' mydata.csv