| 272 | } |
| 273 | |
| 274 | int |
| 275 | main(int argc, char** argv) |
| 276 | { |
| 277 | std::string commandLine; |
| 278 | { |
| 279 | std::ostringstream ss; |
| 280 | char** last = argv + argc - 1; |
| 281 | std::copy(argv, last, std::ostream_iterator<const char*>(ss, " ")); |
| 282 | ss << *last; |
| 283 | commandLine = ss.str(); |
| 284 | } |
| 285 | |
| 286 | bool die = false; // scary, and spooky |
| 287 | for (int c; (c = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1;) { |
| 288 | std::istringstream arg(optarg != NULL ? optarg : ""); |
| 289 | switch (c) { |
| 290 | case '?': |
| 291 | die = true; |
| 292 | break; |
| 293 | case 'b': |
| 294 | opt::bloomSize = SIToBytes(arg); |
| 295 | break; |
| 296 | case 'j': |
| 297 | arg >> opt::threads; |
| 298 | break; |
| 299 | case 'k': |
| 300 | arg >> opt::k; |
| 301 | break; |
| 302 | case 'h': |
| 303 | arg >> opt::histPrefix; |
| 304 | break; |
| 305 | case 'g': |
| 306 | arg >> opt::outputGraphPath; |
| 307 | break; |
| 308 | case 'c': |
| 309 | arg >> opt::outputContigsPath; |
| 310 | break; |
| 311 | case 't': |
| 312 | arg >> opt::threshold; |
| 313 | break; |
| 314 | case 'x': |
| 315 | arg >> opt::extract; |
| 316 | break; |
| 317 | case 'm': |
| 318 | arg >> opt::minTests; |
| 319 | break; |
| 320 | case 'M': |
| 321 | arg >> opt::maxTests; |
| 322 | break; |
| 323 | case 'n': |
| 324 | arg >> opt::branching; |
| 325 | break; |
| 326 | case 'r': |
| 327 | int r; |
| 328 | arg >> r; |
| 329 | opt::rValues.push_back(r); |
| 330 | break; |
| 331 | case 'R': |
nothing calls this directly
no test coverage detected