Skip to content

Commit 753e619

Browse files
committed
Fix compiler warnings.
1 parent c904b57 commit 753e619

File tree

1 file changed

+31
-9
lines changed

1 file changed

+31
-9
lines changed

kissutil.c

+31-9
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
#include "kiss_frame.h"
6969
#include "sock.h"
7070
#include "dtime_now.h"
71+
#include "audio.h" // for DEFAULT_TXDELAY, etc.
7172

7273

7374
// TODO: define in one place, use everywhere.
@@ -394,6 +395,27 @@ int main (int argc, char *argv[])
394395
*
395396
*--------------------------------------------------------------------*/
396397

398+
static int parse_number (char *str, int de_fault)
399+
{
400+
int n;
401+
402+
while (isspace(*str)) {
403+
str++;
404+
}
405+
if (strlen(str) == 0) {
406+
text_color_set(DW_COLOR_ERROR);
407+
dw_printf ("Missing number for KISS command. Using default %d.\n", de_fault);
408+
return (de_fault);
409+
}
410+
n = atoi(str);
411+
if (n < 0 || n > 255) { // must fit in a byte.
412+
text_color_set(DW_COLOR_ERROR);
413+
dw_printf ("Number for KISS command is out of range 0-255. Using default %d.\n", de_fault);
414+
return (de_fault);
415+
}
416+
return (n);
417+
}
418+
397419
static void process_input (char *stuff)
398420
{
399421
char *p;
@@ -435,24 +457,23 @@ static void process_input (char *stuff)
435457

436458
switch (*p) {
437459
case 'd': // txDelay, 10ms units
438-
// TODO: should check for range 0 - 255.
439-
value = atoi(p+1);
460+
value = parse_number(p+1, DEFAULT_TXDELAY);
440461
send_to_kiss_tnc (chan, KISS_CMD_TXDELAY, &value, 1);
441462
break;
442463
case 'p': // Persistence
443-
value = atoi(p+1);
464+
value = parse_number(p+1, DEFAULT_PERSIST);
444465
send_to_kiss_tnc (chan, KISS_CMD_PERSISTENCE, &value, 1);
445466
break;
446467
case 's': // Slot time, 10ms units
447-
value = atoi(p+1);
468+
value = parse_number(p+1, DEFAULT_SLOTTIME);
448469
send_to_kiss_tnc (chan, KISS_CMD_SLOTTIME, &value, 1);
449470
break;
450-
case 't': // txTelay, 10ms units
451-
value = atoi(p+1);
471+
case 't': // txTail, 10ms units
472+
value = parse_number(p+1, DEFAULT_TXTAIL);
452473
send_to_kiss_tnc (chan, KISS_CMD_TXTAIL, &value, 1);
453474
break;
454475
case 'f': // Full duplex
455-
value = atoi(p+1);
476+
value = parse_number(p+1, 0);
456477
send_to_kiss_tnc (chan, KISS_CMD_FULLDUPLEX, &value, 1);
457478
break;
458479
case 'h': // set Hardware
@@ -512,7 +533,7 @@ static void send_to_kiss_tnc (int chan, int cmd, char *data, int dlen)
512533
}
513534
if (dlen < 0 || dlen > (int)(sizeof(temp)-1)) {
514535
text_color_set(DW_COLOR_ERROR);
515-
dw_printf ("ERROR - Invalid data length %d - must be in range 0 to %d.\n", dlen, sizeof(temp)-1);
536+
dw_printf ("ERROR - Invalid data length %d - must be in range 0 to %d.\n", dlen, (int)(sizeof(temp)-1));
516537
dlen = sizeof(temp)-1;
517538
}
518539

@@ -531,7 +552,8 @@ static void send_to_kiss_tnc (int chan, int cmd, char *data, int dlen)
531552
// Might need to delay when not using interactive input.
532553

533554
if (using_tcp) {
534-
SOCK_SEND(server_sock, (char*)kissed, klen);
555+
int rc = SOCK_SEND(server_sock, (char*)kissed, klen);
556+
(void)rc;
535557
}
536558
else {
537559
serial_port_write (serial_fd, (char*)kissed, klen);

0 commit comments

Comments
 (0)