diff options
author | A. Maitland Bottoms <bottoms@debian.org> | 2017-08-24 05:27:57 -0400 |
---|---|---|
committer | Steve Markgraf <steve@steve-m.de> | 2020-02-26 22:16:29 +0100 |
commit | f2a9a81c4be95a6e9da97ec784f893d98a43f289 (patch) | |
tree | 5fce9708accffe85db824b296378ce8ed50dd2c1 /src/rtl_fm.c | |
parent | b2ee24eff514ae6af14d707b2e0b3f30884a7361 (diff) |
rtl_fm/rtl_power: Improve scanning range parsing
Diffstat (limited to 'src/rtl_fm.c')
-rw-r--r-- | src/rtl_fm.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/rtl_fm.c b/src/rtl_fm.c index b163979..283542d 100644 --- a/src/rtl_fm.c +++ b/src/rtl_fm.c @@ -926,8 +926,21 @@ void frequency_range(struct controller_state *s, char *arg) int i; start = arg; stop = strchr(start, ':') + 1; + if (stop == (char *)1) { // no stop or step given + s->freqs[s->freq_len] = (uint32_t) atofs(start); + s->freq_len++; + return; + } stop[-1] = '\0'; step = strchr(stop, ':') + 1; + if (step == (char *)1) { // no step given + s->freqs[s->freq_len] = (uint32_t) atofs(start); + s->freq_len++; + s->freqs[s->freq_len] = (uint32_t) atofs(stop); + s->freq_len++; + stop[-1] = ':'; + return; + } step[-1] = '\0'; for(i=(int)atofs(start); i<=(int)atofs(stop); i+=(int)atofs(step)) { |