aboutsummaryrefslogtreecommitdiffstats
path: root/binding
diff options
context:
space:
mode:
authorThierry Bultel <thierry.bultel@iot.bzh>2018-06-29 15:52:46 +0200
committerThierry Bultel <thierry.bultel@iot.bzh>2018-07-17 10:50:07 +0200
commitc0e174c085478e8bcea1a31d527df6e58f7448d1 (patch)
tree68beae1bb02a202a0793c008892a7c423c430cd9 /binding
parentd564d41b640f3ed69e16cc0e2eaf258778191b04 (diff)
Fixed compilation warnings
Fixed all the compilation warning that appeared with the latest version of gcc. There are still warnings in the gstreamer headers, that would likely be fixed by a gstreamer bump. Change-Id: I3ae7698dbff47303be366d9755a643a013bb4e51 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
Diffstat (limited to 'binding')
-rw-r--r--binding/convenience/convenience.c13
-rw-r--r--binding/radio-binding.c2
-rw-r--r--binding/radio_impl_kingfisher.c2
-rw-r--r--binding/radio_impl_rtlsdr.c7
-rw-r--r--binding/radio_output.h2
-rw-r--r--binding/radio_output_gstreamer.c4
-rw-r--r--binding/radio_output_pulse.c9
-rw-r--r--binding/rtl_fm.c48
-rw-r--r--binding/rtl_fm_helper.c3
9 files changed, 49 insertions, 41 deletions
diff --git a/binding/convenience/convenience.c b/binding/convenience/convenience.c
index 517dc4e..ae1e24b 100644
--- a/binding/convenience/convenience.c
+++ b/binding/convenience/convenience.c
@@ -40,7 +40,7 @@ double atofs(char *s)
/* standard suffixes */
{
char last;
- int len;
+ size_t len;
double suff = 1.0;
len = strlen(s);
last = s[len-1];
@@ -49,9 +49,11 @@ double atofs(char *s)
case 'g':
case 'G':
suff *= 1e3;
+ /*@fallthrough@*/
case 'm':
case 'M':
suff *= 1e3;
+ /*@fallthrough@*/
case 'k':
case 'K':
suff *= 1e3;
@@ -67,7 +69,7 @@ double atoft(char *s)
/* time suffixes, returns seconds */
{
char last;
- int len;
+ size_t len;
double suff = 1.0;
len = strlen(s);
last = s[len-1];
@@ -76,9 +78,11 @@ double atoft(char *s)
case 'h':
case 'H':
suff *= 60;
+ /*@fallthrough@*/
case 'm':
case 'M':
suff *= 60;
+ /*@fallthrough@*/
case 's':
case 'S':
suff *= atof(s);
@@ -93,7 +97,7 @@ double atofp(char *s)
/* percent suffixes */
{
char last;
- int len;
+ size_t len;
double suff = 1.0;
len = strlen(s);
last = s[len-1];
@@ -243,7 +247,8 @@ int verbose_reset_buffer(rtlsdr_dev_t *dev)
int verbose_device_search(char *s)
{
- int i, device_count, device, offset;
+ int i, device_count, device;
+ ssize_t offset;
char *s2;
char vendor[256], product[256], serial[256];
device_count = rtlsdr_get_device_count();
diff --git a/binding/radio-binding.c b/binding/radio-binding.c
index 4db34db..e1e1763 100644
--- a/binding/radio-binding.c
+++ b/binding/radio-binding.c
@@ -72,7 +72,7 @@ static void frequency(struct afb_req request)
if(value) {
char *p;
- frequency = strtoul(value, &p, 10);
+ frequency = (uint32_t) strtoul(value, &p, 10);
if(frequency && *p == '\0') {
radio_impl_ops->set_frequency(frequency);
} else {
diff --git a/binding/radio_impl_kingfisher.c b/binding/radio_impl_kingfisher.c
index b6c0d11..177ad88 100644
--- a/binding/radio_impl_kingfisher.c
+++ b/binding/radio_impl_kingfisher.c
@@ -297,8 +297,6 @@ static uint32_t kf_get_frequency_step(radio_band_t band)
static void kf_start(void)
{
- int rc;
-
if(!present)
return;
diff --git a/binding/radio_impl_rtlsdr.c b/binding/radio_impl_rtlsdr.c
index b8b2454..9a1c492 100644
--- a/binding/radio_impl_rtlsdr.c
+++ b/binding/radio_impl_rtlsdr.c
@@ -218,7 +218,7 @@ static void rtlsdr_set_frequency(uint32_t frequency)
char cmd[64];
char output[128];
bool found = false;
- int rc;
+ ssize_t rc;
uint32_t n;
if(!present)
@@ -315,7 +315,7 @@ static void rtlsdr_start(void)
return;
if(!active) {
- int rc;
+ ssize_t rc;
char cmd[64];
sprintf(cmd, "START\n");
@@ -334,7 +334,6 @@ static void rtlsdr_stop(void)
return;
if(active) {
- int rc;
char cmd[64];
active = false;
@@ -349,7 +348,7 @@ static void rtlsdr_scan_start(radio_scan_direction_t direction,
radio_scan_callback_t callback,
void *data)
{
- int rc;
+ ssize_t rc;
char cmd[64];
char output[128];
bool found = false;
diff --git a/binding/radio_output.h b/binding/radio_output.h
index 2192811..bfa13cd 100644
--- a/binding/radio_output.h
+++ b/binding/radio_output.h
@@ -25,7 +25,7 @@ void radio_output_stop(void);
void radio_output_close(void);
-int radio_output_write(void *buf, int len);
+ssize_t radio_output_write(void *buf, int len);
#endif /* _RADIO_OUTPUT_H */
diff --git a/binding/radio_output_gstreamer.c b/binding/radio_output_gstreamer.c
index 698b81b..f492bb5 100644
--- a/binding/radio_output_gstreamer.c
+++ b/binding/radio_output_gstreamer.c
@@ -160,9 +160,9 @@ void radio_output_close(void)
output_buf = NULL;
}
-int radio_output_write(void *buf, int len)
+ssize_t radio_output_write(void *buf, int len)
{
- int rc = -EINVAL;
+ ssize_t rc = -EINVAL;
size_t n = len;
int samples = len / 2;
unsigned char *p;
diff --git a/binding/radio_output_pulse.c b/binding/radio_output_pulse.c
index a49687b..8b2957e 100644
--- a/binding/radio_output_pulse.c
+++ b/binding/radio_output_pulse.c
@@ -32,7 +32,6 @@ static int16_t extra_buf[1];
static unsigned char *output_buf;
static void pa_context_state_cb(pa_context *c, void *data) {
- pa_operation *o;
assert(c);
switch (pa_context_get_state(c)) {
@@ -220,10 +219,10 @@ void radio_output_close(void)
output_buf = NULL;
}
-int radio_output_write(void *buf, int len)
+ssize_t radio_output_write(void *buf, int len)
{
- int rc = -EINVAL;
- int error;
+ ssize_t rc = -EINVAL;
+
size_t n = len;
size_t avail;
int samples = len / 2;
@@ -284,7 +283,7 @@ int radio_output_write(void *buf, int len)
}
if ((rc = pa_stream_write(stream, p, n, NULL, 0, PA_SEEK_RELATIVE)) < 0) {
- fprintf(stderr, "Error writing %d bytes to PulseAudio : %s\n",
+ fprintf(stderr, "Error writing %zu bytes to PulseAudio : %s\n",
n, pa_strerror(pa_context_errno(context)));
}
exit:
diff --git a/binding/rtl_fm.c b/binding/rtl_fm.c
index 5b00482..cfbd487 100644
--- a/binding/rtl_fm.c
+++ b/binding/rtl_fm.c
@@ -226,17 +226,18 @@ void rotate_90(unsigned char *buf, uint32_t len)
or [0, 1, -3, 2, -4, -5, 7, -6] */
{
uint32_t i;
- unsigned char tmp;
+ uint8_t tmp;
+
for (i=0; i<len; i+=8) {
/* uint8_t negation = 255 - x */
- tmp = 255 - buf[i+3];
+ tmp = (uint8_t)(255 - buf[i+3]);
buf[i+3] = buf[i+2];
buf[i+2] = tmp;
- buf[i+4] = 255 - buf[i+4];
- buf[i+5] = 255 - buf[i+5];
+ buf[i+4] = (uint8_t)(255 - buf[i+4]);
+ buf[i+5] = (uint8_t)(255 - buf[i+5]);
- tmp = 255 - buf[i+6];
+ tmp = (uint8_t)(255 - buf[i+6]);
buf[i+6] = buf[i+7];
buf[i+7] = tmp;
}
@@ -254,8 +255,8 @@ void low_pass(struct demod_state *d)
if (d->prev_index < d->downsample) {
continue;
}
- d->lowpassed[i2] = d->now_r; // * d->output_scale;
- d->lowpassed[i2+1] = d->now_j; // * d->output_scale;
+ d->lowpassed[i2] = (int16_t)d->now_r; // * d->output_scale;
+ d->lowpassed[i2+1] = (int16_t)d->now_j; // * d->output_scale;
d->prev_index = 0;
d->now_r = 0;
d->now_j = 0;
@@ -314,7 +315,7 @@ void fifth_order(int16_t *data, int length, int16_t *hist)
e = hist[5];
f = data[0];
/* a downsample should improve resolution, so don't fully shift */
- data[0] = (a + (b+e)*5 + (c+d)*10 + f) >> 4;
+ data[0] = (int16_t) ((a + (b+e)*5 + (c+d)*10 + f) >> 4);
for (i=4; i<length; i+=4) {
a = c;
b = d;
@@ -322,7 +323,7 @@ void fifth_order(int16_t *data, int length, int16_t *hist)
d = f;
e = data[i-2];
f = data[i];
- data[i/2] = (a + (b+e)*5 + (c+d)*10 + f) >> 4;
+ data[i/2] = (int16_t) ((a + (b+e)*5 + (c+d)*10 + f) >> 4);
}
/* archive */
hist[0] = a;
@@ -336,7 +337,9 @@ void fifth_order(int16_t *data, int length, int16_t *hist)
void generic_fir(int16_t *data, int length, int *fir, int16_t *hist)
/* Okay, not at all generic. Assumes length 9, fix that eventually. */
{
- int d, temp, sum;
+ int16_t temp;
+ int sum;
+ int d;
for (d=0; d<length; d+=2) {
temp = data[d];
sum = 0;
@@ -345,7 +348,7 @@ void generic_fir(int16_t *data, int length, int *fir, int16_t *hist)
sum += (hist[2] + hist[6]) * fir[3];
sum += (hist[3] + hist[5]) * fir[4];
sum += hist[4] * fir[5];
- data[d] = sum >> 15 ;
+ data[d] = (int16_t) (sum >> 15);
hist[0] = hist[1];
hist[1] = hist[2];
hist[2] = hist[3];
@@ -445,7 +448,8 @@ int polar_disc_lut(int ar, int aj, int br, int bj)
if (x_abs >= atan_lut_size) {
/* we can use linear range, but it is not necessary */
- return (cj > 0) ? 1<<13 : -1<<13;
+ const int ret = 1<<13;
+ return (cj > 0) ? ret : -ret;
}
if (x > 0) {
@@ -497,7 +501,7 @@ void am_demod(struct demod_state *fm)
//r[i/2] = (int16_t)hypot(lp[i], lp[i+1]);
pcm = lp[i] * lp[i];
pcm += lp[i+1] * lp[i+1];
- r[i/2] = (int16_t)sqrt(pcm) * fm->output_scale;
+ r[i/2] = (int16_t) ((int16_t)sqrt(pcm) * fm->output_scale);
}
fm->result_len = fm->lp_len/2;
// lowpass? (3khz) highpass? (dc)
@@ -510,7 +514,7 @@ void usb_demod(struct demod_state *fm)
int16_t *r = fm->result;
for (i = 0; i < fm->lp_len; i += 2) {
pcm = lp[i] + lp[i+1];
- r[i/2] = (int16_t)pcm * fm->output_scale;
+ r[i/2] = (int16_t)((int16_t)pcm * fm->output_scale);
}
fm->result_len = fm->lp_len/2;
}
@@ -522,7 +526,7 @@ void lsb_demod(struct demod_state *fm)
int16_t *r = fm->result;
for (i = 0; i < fm->lp_len; i += 2) {
pcm = lp[i] - lp[i+1];
- r[i/2] = (int16_t)pcm * fm->output_scale;
+ r[i/2] = (int16_t)((int16_t)pcm * fm->output_scale);
}
fm->result_len = fm->lp_len/2;
}
@@ -560,10 +564,10 @@ void dc_block_filter(struct demod_state *fm)
for (i=0; i < fm->result_len; i++) {
sum += fm->result[i];
}
- avg = sum / fm->result_len;
+ avg = (int)(sum / fm->result_len);
avg = (avg + fm->dc_avg * 9) / 10;
for (i=0; i < fm->result_len; i++) {
- fm->result[i] -= avg;
+ fm->result[i] = (int16_t)(fm->result[i] - avg);
}
fm->dc_avg = avg;
}
@@ -589,7 +593,7 @@ int rms(int16_t *samples, int len, int step)
/* largely lifted from rtl_power */
{
int i;
- long p, t, s;
+ double p, t, s;
double dc, err;
p = t = 0L;
@@ -641,7 +645,7 @@ void arbitrary_downsample(int16_t *buf1, int16_t *buf2, int len1, int len2)
frac = 1.0;
if ((tick + len2) > len1) {
frac = (double)(len1 - tick) / (double)len2;}
- buf2[j] += (int16_t)((double)buf1[i] * frac + remainder);
+ buf2[j] = (int16_t)(buf2[j] + (double)buf1[i] * frac + remainder);
remainder = (double)buf1[i] * (1.0-frac);
tick += len2;
i++;
@@ -656,7 +660,8 @@ void arbitrary_downsample(int16_t *buf1, int16_t *buf2, int len1, int len2)
}
}
for (j=0; j<len2; j++) {
- buf2[j] = buf2[j] * len2 / len1;}
+ buf2[j] = (int16_t) (buf2[j] * len2 / len1);
+ }
}
void arbitrary_resample(int16_t *buf1, int16_t *buf2, int len1, int len2)
@@ -739,7 +744,8 @@ static void rtlsdr_callback(unsigned char *buf, uint32_t len, void *ctx)
if (!s->offset_tuning) {
rotate_90(buf, len);}
for (i=0; i<(int)len; i++) {
- s->buf16[i] = (int16_t)buf[i] - 127;}
+ s->buf16[i] = (int16_t)(buf[i] - 127);
+ }
pthread_rwlock_wrlock(&d->rw);
memcpy(d->lowpassed, s->buf16, 2*len);
d->lp_len = len;
diff --git a/binding/rtl_fm_helper.c b/binding/rtl_fm_helper.c
index 9405ae2..c7df4b9 100644
--- a/binding/rtl_fm_helper.c
+++ b/binding/rtl_fm_helper.c
@@ -175,7 +175,8 @@ int main(int argc, char *argv[])
while(!done) {
LOG("Reading command\n");
- fgets(line, sizeof(line), stdin);
+ if (fgets(line, sizeof(line), stdin) == NULL)
+ break;
if(line[0] == '\0' || line[0] == '\n')
continue;
if(strcmp(line, "START\n") == 0) {