diff options
author | FreeArtMan <dos21h@gmail.com> | 2018-06-03 00:04:50 +0100 |
---|---|---|
committer | FreeArtMan <dos21h@gmail.com> | 2018-06-03 00:04:50 +0100 |
commit | 587dd24b5970aa3605cc2bc2826f7e35344b4317 (patch) | |
tree | fe57c7f01376939eda9974c6bdfd2d5be1f9a832 /test/test1.c | |
download | libarg++-587dd24b5970aa3605cc2bc2826f7e35344b4317.tar.gz libarg++-587dd24b5970aa3605cc2bc2826f7e35344b4317.zip |
Initial commit
Diffstat (limited to 'test/test1.c')
-rw-r--r-- | test/test1.c | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/test/test1.c b/test/test1.c new file mode 100644 index 0000000..d87443f --- /dev/null +++ b/test/test1.c @@ -0,0 +1,172 @@ +#include <stdio.h> +#include <stdlib.h> + + +#include "../arg.h" + +//define ip4 127.0.0.1:8080 +/* +s_arg_ip src_ip = +{ + port:8080, + .ip = 0x7f000001, + .result = NULL +}; +*/ + + +/* +//? +//frequency range from 88:108 +s_arg_range freq_range = +{ + .start = 88, + .end = 108, + .step = 100e3, + .result = NULL +}; +*/ + +/* +s_arg_float ratio_float = +{ + .val = 0.8, + .result = NULL +}; +*/ + + + +/* +char *color_list[] = {"RED","GREEN","BLUE"}; + +s_arg_list color_name_list = +{ + .num = 3, + .default_val = "RED", + .vals = color_list, + .result = NULL +}; +*/ + +/* +s_arg_val number_val = +{ + .ptr = NULL, + .default_ptr = "None", + .result = NULL +}; +*/ + +/* +s_arg_flag flag_help = +{ + .used = 0, + .result = NULL +}; +*/ + +/* +//cant be const +def_arg cmd_arg[] = +{ + ARG_ENTRY("-a",IP, &src_ip,"test ip address argument"), + ARG_ENTRY("-b",RANGE,&freq_range,"test integer range argument"), + ARG_ENTRY("-c",FLOAT,&ratio_float,"test float number"), + ARG_ENTRY("-d",LIST, &color_name_list,"check list of values"), + ARG_ENTRY("-e",VAL, &number_val,"string number values"), + ARG_ENTRY("-f",FILE, NULL,"check file argument"), + ARG_ENTRY("-g",FLAG, &flag_help,"check flag argument"), + {NULL,0,NULL} +}; +*/ + +extern "C" void* emulate_cc_new(unsigned len) { \ + printf("New allocated\n"); + void *p = malloc(len); + if (p == 0) { + /* Don't use stdio (e.g. fputs), because that may want to allocate more + * memory. + */ + (void)!write(2, "out of memory\n", 14); + abort(); + } + return p; +} +extern "C" void emulate_cc_delete(void* p) { + if (p != 0) + free(p); +} +void* operator new(long unsigned int len) __attribute__((alias("emulate_cc_new"))); +void* operator new[](long unsigned int len) __attribute__((alias("emulate_cc_new"))); +void operator delete(void* p, unsigned long len) __attribute__((alias("emulate_cc_delete"))); +void operator delete[](void* p, unsigned long len) __attribute__((alias("emulate_cc_delete"))); +void* __cxa_pure_virtual = 0; +__gxx_personality_v0 + +#include "../arg.h" + +int main( int argc, char **argv ) +{ + + /* + int i=0; + arg_t *cfg = NULL; + + i = 0; + while ( cmd_arg[i].param != NULL ) + { + printf("%s - %s\n",cmd_arg[i].param, cmd_arg[i].help); + i++; + } + + cfg = arg_load( argc, argv, cmd_arg ); + + if (cfg->size == 0) + { + printf("No arguments found\n"); + //goto exit_error; + } + + for (i=0;i<cfg->size;i++) + { + printf("TYPE:%d\n", cfg->arg[i]->type); + } + + //arg_print( cfg ); + + if (flag_help.result != NULL) + { + printf("Help flag %d\n", flag_help.result->flag); + } + + if (number_val.result != NULL) + { + printf("Number val :%s\n", number_val.result->ptr); + } + + //arg_free( cfg ); + + return 0; + +exit_error: + arg_free( cfg ); + + return -1; + */ + + CmdArgFlag *enable = new CmdArgFlag(); + CmdArgFlagConf enableConf = CmdArgFlagConf(); + //CmdArgDefault enableDefault = CmdArgDefault((char *)"-a", &enableConf, (char *)"enable A", &enable); + + CmdArgFlag enableText = CmdArgFlag(); + CmdArgFlagConf enableTextConf = CmdArgFlagConf(); + CmdArgDefault enableTextDefault = CmdArgDefault((char *)"-t", &enableTextConf, (char *)"enable text", &enableText); + + CmdArg arguments = CmdArg(); + + //enableConf(); + +} + + |