MCPcopy Create free account
hub / github.com/1a1a11a/libCacheSim / parse_opt

Function parse_opt

libCacheSim/bin/MRC/parser_mini.c:102–185  ·  view source on GitHub ↗

PARSER. Field 2 in ARGP. Order of parameters: KEY, ARG, STATE. */

Source from the content-addressed store, hash-verified

100 Order of parameters: KEY, ARG, STATE.
101*/
102static error_t parse_opt(int key, char *arg, struct argp_state *state) {
103 struct MINI_arguments *arguments = state->input;
104
105 switch (key) {
106 case OPTION_NUM_THREAD:
107 arguments->n_thread = atoi(arg);
108 if (arguments->n_thread == 0 || arguments->n_thread == -1) {
109 arguments->n_thread = n_cores();
110 }
111 break;
112 case OPTION_TRACE_TYPE_PARAMS:
113 arguments->trace_type_params = arg;
114 break;
115 case OPTION_EVICTION_PARAMS:
116 arguments->eviction_params = strdup(arg);
117 replace_char(arguments->eviction_params, ';', ',');
118 replace_char(arguments->eviction_params, '_', '-');
119 break;
120 case OPTION_ADMISSION_ALGO:
121 arguments->admission_algo = arg;
122 break;
123 case OPTION_PREFETCH_ALGO:
124 arguments->prefetch_algo = arg;
125 break;
126 case OPTION_ADMISSION_PARAMS:
127 arguments->admission_params = strdup(arg);
128 replace_char(arguments->admission_params, ';', ',');
129 replace_char(arguments->admission_params, '_', '-');
130 break;
131 case OPTION_PREFETCH_PARAMS:
132 arguments->prefetch_params = strdup(arg);
133 replace_char(arguments->prefetch_params, ';', ',');
134 replace_char(arguments->prefetch_params, '_', '-');
135 break;
136 case OPTION_OUTPUT_PATH:
137 strncpy(arguments->ofilepath, arg, OFILEPATH_LEN - 1);
138 arguments->ofilepath[OFILEPATH_LEN - 1] = '\0';
139 break;
140 case OPTION_NUM_REQ:
141 arguments->n_req = atoi(arg);
142 break;
143 case OPTION_VERBOSE:
144 arguments->verbose = is_true(arg) ? true : false;
145 break;
146 case OPTION_USE_TTL:
147 arguments->use_ttl = is_true(arg) ? true : false;
148 break;
149 case OPTION_REPORT_INTERVAL:
150 arguments->report_interval = atol(arg);
151 break;
152 case OPTION_IGNORE_OBJ_SIZE:
153 arguments->ignore_obj_size = is_true(arg) ? true : false;
154 break;
155 case OPTION_CONSIDER_OBJ_METADATA:
156 arguments->consider_obj_metadata = is_true(arg) ? true : false;
157 break;
158 case OPTION_WARMUP_SEC:
159 arguments->warmup_sec = atoi(arg);

Callers

nothing calls this directly

Calls 4

atoiFunction · 0.85
n_coresFunction · 0.85
replace_charFunction · 0.85
is_trueFunction · 0.85

Tested by

no test coverage detected