Skip to content

Commit a969b2f

Browse files
committed
Version bump to 0.29.3
Allow spaces in arguments (e.g. config file can have spaces in it)
1 parent a674cde commit a969b2f

File tree

2 files changed

+38
-42
lines changed

2 files changed

+38
-42
lines changed

src/SplitCode.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef SPLITCODE_H
22
#define SPLITCODE_H
33

4-
#define SPLITCODE_VERSION "0.29.2"
4+
#define SPLITCODE_VERSION "0.29.3"
55

66
#include <string>
77
#include <iostream>

src/main.cpp

Lines changed: 37 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -307,102 +307,101 @@ void ParseOptions(int argc, char **argv, ProgramOptions& opt) {
307307
break;
308308
}
309309
case 'b': {
310-
stringstream(optarg) >> opt.barcode_str;
310+
opt.barcode_str = optarg;
311311
break;
312312
}
313313
case 'd': {
314-
stringstream(optarg) >> opt.distance_str;
314+
opt.distance_str = optarg;
315315
break;
316316
}
317317
case 'l': {
318-
stringstream(optarg) >> opt.location_str;
318+
opt.location_str = optarg;
319319
break;
320320
}
321321
case 'i': {
322-
stringstream(optarg) >> opt.barcode_identifiers_str;
322+
opt.barcode_identifiers_str = optarg;
323323
break;
324324
}
325325
case 'g': {
326-
stringstream(optarg) >> opt.group_identifiers_str;
326+
opt.group_identifiers_str = optarg;
327327
break;
328328
}
329329
case 'F': {
330-
stringstream(optarg) >> opt.max_finds_str;
330+
opt.max_finds_str = optarg;
331331
break;
332332
}
333333
case 'f': {
334-
stringstream(optarg) >> opt.min_finds_str;
334+
opt.min_finds_str = optarg;
335335
break;
336336
}
337337
case 'J': {
338-
stringstream(optarg) >> opt.max_finds_group_str;
338+
opt.max_finds_group_str = optarg;
339339
break;
340340
}
341341
case 'j': {
342-
stringstream(optarg) >> opt.min_finds_group_str;
342+
opt.min_finds_group_str = optarg;
343343
break;
344344
}
345345
case 'e': {
346-
stringstream(optarg) >> opt.exclude_str;
346+
opt.exclude_str = optarg;
347347
break;
348348
}
349349
case 'L': {
350-
stringstream(optarg) >> opt.left_str;
350+
opt.left_str = optarg;
351351
break;
352352
}
353353
case 'R': {
354-
stringstream(optarg) >> opt.right_str;
354+
opt.right_str = optarg;
355355
break;
356356
}
357357
case 'a': {
358-
stringstream(optarg) >> opt.after_str;
358+
opt.after_str = optarg;
359359
break;
360360
}
361361
case 'v': {
362-
stringstream(optarg) >> opt.before_str;
362+
opt.before_str = optarg;
363363
break;
364364
}
365365
case 'U': {
366-
stringstream(optarg) >> opt.subs_str;
366+
opt.subs_str = optarg;
367367
break;
368368
}
369369
case 'z': {
370-
stringstream(optarg) >> opt.partial5_str;
370+
opt.partial5_str = optarg;
371371
break;
372372
}
373373
case 'Z': {
374-
stringstream(optarg) >> opt.partial3_str;
374+
opt.partial3_str = optarg;
375375
break;
376376
}
377377
case 'c': {
378-
stringstream(optarg) >> opt.config_file;
378+
opt.config_file = optarg;
379379
break;
380380
}
381381
case 'm': {
382-
stringstream(optarg) >> opt.mapping_file;
382+
opt.mapping_file = optarg;
383383
break;
384384
}
385385
case 'k': {
386-
stringstream(optarg) >> opt.keep_file;
386+
opt.keep_file = optarg;
387387
break;
388388
}
389389
case 'r': {
390390
opt.discard = true;
391-
stringstream(optarg) >> opt.keep_file;
391+
opt.keep_file = optarg;
392392
break;
393393
}
394394
case 'y': {
395-
stringstream(optarg) >> opt.keep_group_file;
395+
opt.keep_group_file = optarg;
396396
break;
397397
}
398398
case 'Y': {
399399
opt.discard_group = true;
400-
stringstream(optarg) >> opt.keep_group_file;
400+
opt.keep_group_file = optarg;
401401
break;
402402
}
403403
case 'o': {
404-
std::string files;
405-
stringstream(optarg) >> files;
404+
std::string files = optarg;
406405
std::stringstream ss(files);
407406
std::string filename;
408407
while (std::getline(ss, filename, ',')) {
@@ -411,23 +410,22 @@ void ParseOptions(int argc, char **argv, ProgramOptions& opt) {
411410
break;
412411
}
413412
case 'O': {
414-
stringstream(optarg) >> opt.outputb_file;
413+
opt.outputb_file = optarg;
415414
break;
416415
}
417416
case 'A': {
418-
stringstream(optarg) >> opt.append_file;
417+
opt.append_file = optarg;
419418
break;
420419
}
421420
case 'E': {
422-
stringstream(optarg) >> opt.empty_read_sequence;
421+
opt.empty_read_sequence = optarg;
423422
for (auto& c: opt.empty_read_sequence) {
424423
c = toupper(c);
425424
}
426425
break;
427426
}
428427
case 'u': {
429-
std::string files;
430-
stringstream(optarg) >> files;
428+
std::string files = optarg;
431429
std::stringstream ss(files);
432430
std::string filename;
433431
while (std::getline(ss, filename, ',')) {
@@ -436,39 +434,39 @@ void ParseOptions(int argc, char **argv, ProgramOptions& opt) {
436434
break;
437435
}
438436
case '5': {
439-
stringstream(optarg) >> opt.trim_5_str;
437+
opt.trim_5_str = optarg;
440438
break;
441439
}
442440
case '3': {
443-
stringstream(optarg) >> opt.trim_3_str;
441+
opt.trim_3_str = optarg;
444442
break;
445443
}
446444
case '9': {
447445
stringstream(optarg) >> opt.bclen;
448446
break;
449447
}
450448
case 'w': {
451-
stringstream(optarg) >> opt.filter_length_str;
449+
opt.filter_length_str = optarg;
452450
break;
453451
}
454452
case 'x': {
455-
stringstream(optarg) >> opt.extract_str;
453+
opt.extract_str = optarg;
456454
break;
457455
}
458456
case 'P': {
459-
stringstream(optarg) >> opt.barcode_prefix;
457+
opt.barcode_prefix = optarg;
460458
break;
461459
}
462460
case 'q': {
463461
stringstream(optarg) >> opt.quality_trimming_threshold;
464462
break;
465463
}
466464
case 's': {
467-
stringstream(optarg) >> opt.summary_file;
465+
opt.summary_file = optarg;
468466
break;
469467
}
470468
case 'S': {
471-
stringstream(optarg) >> opt.select_output_files_str;
469+
opt.select_output_files_str = optarg;
472470
break;
473471
}
474472
case 'C': {
@@ -482,8 +480,7 @@ void ParseOptions(int argc, char **argv, ProgramOptions& opt) {
482480
break;
483481
}
484482
case 'X': {
485-
std::string subset_n;
486-
stringstream(optarg) >> subset_n;
483+
std::string subset_n = optarg;
487484
std::stringstream ss(subset_n);
488485
while (std::getline(ss, subset_n, ',')) {
489486
try {
@@ -495,8 +492,7 @@ void ParseOptions(int argc, char **argv, ProgramOptions& opt) {
495492
break;
496493
}
497494
case 'M': {
498-
std::string m;
499-
stringstream(optarg) >> m;
495+
std::string m = optarg;
500496
m.erase(remove(m.begin(),m.end(),' '),m.end()); // remove spaces from string
501497
std::stringstream ss(m);
502498
std::string s;

0 commit comments

Comments
 (0)