vfo.c

sbitx_sound.c
work/v512-cw3/src/sbitx_sound.c:810:51: warning: expression result unused [-Wunused-value]
  810 |                                          + (_t1.tv_nsec - _t0.tv_nsec) / 1000L;
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
work/v512-cw3/src/sbitx_sound.c:972:13: warning: multiple unsequenced modifications to 'j' [-Wunsequenced]
  972 |                 line_out[j++] = line_out[j++] = output_i[i];    
      |                           ^               ~~
work/v512-cw3/src/sbitx_sound.c:1088:1: warning: non-void function does not return a value [-Wreturn-type]
 1088 | }
      | ^
work/v512-cw3/src/sbitx_sound.c:1144:1: warning: non-void function does not return a value [-Wreturn-type]
 1144 | }
      | ^
work/v512-cw3/src/sbitx_sound.c:1214:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
 1214 | }
      | ^
work/v512-cw3/src/sbitx_sound.c:1259:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
 1259 | }
      | ^
work/v512-cw3/src/sbitx_sound.c:1268:1: warning: non-void function does not return a value [-Wreturn-type]
 1268 | }
      | ^
7 warnings generated.

fft_filter.c
work/v512-cw3/src/fft_filter.c:84:1: warning: non-void function does not return a value [-Wreturn-type]
   84 | }
      | ^
1 warning generated.

sbitx_gtk.c
work/v512-cw3/src/sbitx_gtk.c:790:14: warning: implicit conversion from 'double' to 'int' changes value from 0.5 to 0 [-Wliteral-conversion]
  789 |         {"#rx_eq_b3b", do_eq_edit, 1000, -1000, 40, 40, "R3B", 40, "1", FIELD_NUMBER, FONT_FIELD_VALUE,
      |         ~
  790 |          "", 1, 10, 0.5, 0},
      |                     ^~~
work/v512-cw3/src/sbitx_gtk.c:784:14: warning: implicit conversion from 'double' to 'int' changes value from 0.5 to 0 [-Wliteral-conversion]
  783 |         {"#rx_eq_b2b", do_eq_edit, 1000, -1000, 40, 40, "R2B", 40, "1", FIELD_NUMBER, FONT_FIELD_VALUE,
      |         ~
  784 |          "", 1, 10, 0.5, 0},
      |                     ^~~
work/v512-cw3/src/sbitx_gtk.c:778:14: warning: implicit conversion from 'double' to 'int' changes value from 0.5 to 0 [-Wliteral-conversion]
  777 |         {"#rx_eq_b1b", do_eq_edit, 1000, -1000, 40, 40, "R1B", 40, "1", FIELD_NUMBER, FONT_FIELD_VALUE,
      |         ~
  778 |          "", 1, 10, 0.5, 0},
      |                     ^~~
work/v512-cw3/src/sbitx_gtk.c:772:14: warning: implicit conversion from 'double' to 'int' changes value from 0.5 to 0 [-Wliteral-conversion]
  771 |         {"#rx_eq_b0b", do_eq_edit, 1000, -1000, 40, 40, "R0B", 40, "1", FIELD_NUMBER, FONT_FIELD_VALUE,
      |         ~
  772 |          "", 1, 10, 0.5, 0},
      |                     ^~~
work/v512-cw3/src/sbitx_gtk.c:758:14: warning: implicit conversion from 'double' to 'int' changes value from 0.5 to 0 [-Wliteral-conversion]
  757 |         {"#eq_b3b", do_eq_edit, 1000, -1000, 40, 40, "B3B", 40, "1", FIELD_NUMBER, FONT_FIELD_VALUE,
      |         ~
  758 |          "", 1, 10, 0.5, 0},
      |                     ^~~
work/v512-cw3/src/sbitx_gtk.c:752:14: warning: implicit conversion from 'double' to 'int' changes value from 0.5 to 0 [-Wliteral-conversion]
  751 |         {"#eq_b2b", do_eq_edit, 1000, -1000, 40, 40, "B2B", 40, "1", FIELD_NUMBER, FONT_FIELD_VALUE,
      |         ~
  752 |          "", 1, 10, 0.5, 0},
      |                     ^~~
work/v512-cw3/src/sbitx_gtk.c:746:14: warning: implicit conversion from 'double' to 'int' changes value from 0.5 to 0 [-Wliteral-conversion]
  745 |         {"#eq_b1b", do_eq_edit, 1000, -1000, 40, 40, "B1B", 40, "1", FIELD_NUMBER, FONT_FIELD_VALUE,
      |         ~
  746 |          "", 1, 10, 0.5, 0},
      |                     ^~~
work/v512-cw3/src/sbitx_gtk.c:740:14: warning: implicit conversion from 'double' to 'int' changes value from 0.5 to 0 [-Wliteral-conversion]
  739 |         {"#eq_b0b", do_eq_edit, 1000, -1000, 40, 40, "B0B", 40, "1", FIELD_NUMBER, FONT_FIELD_VALUE,
      |         ~
  740 |          "", 1, 10, 0.5, 0},
      |                     ^~~
work/v512-cw3/src/sbitx_gtk.c:1061:6: warning: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C23, conflicting with a previous declaration [-Wdeprecated-non-prototype]
 1061 | void tx_on();
      |      ^
work/v512-cw3/src/sdr.h:231:6: note: conflicting prototype is here
  231 | void tx_on(int trigger);
      |      ^
work/v512-cw3/src/sbitx_gtk.c:1218:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
 1218 | }
      | ^
work/v512-cw3/src/sbitx_gtk.c:3193:1: warning: non-void function does not return a value [-Wreturn-type]
 3193 | }
      | ^
work/v512-cw3/src/sbitx_gtk.c:3774:27: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
 3774 |                 fprintf(pf, "min:%d\n", f->min);
      |                                  ~~     ^~~~~~
      |                                  %ld
work/v512-cw3/src/sbitx_gtk.c:3775:27: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
 3775 |                 fprintf(pf, "max:%d\n", f->max);
      |                                  ~~     ^~~~~~
      |                                  %ld
work/v512-cw3/src/sbitx_gtk.c:4015:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
 4015 | }
      | ^
work/v512-cw3/src/sbitx_gtk.c:1061:6: warning: a function declaration without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
 1061 | void tx_on();
      |      ^
work/v512-cw3/src/sbitx_gtk.c:5293:6: note: conflicting prototype is here
 5293 | void tx_on(int trigger)
      |      ^
work/v512-cw3/src/sbitx_gtk.c:5534:1: warning: non-void function does not return a value [-Wreturn-type]
 5534 | }
      | ^
work/v512-cw3/src/sbitx_gtk.c:5618:1: warning: non-void function does not return a value [-Wreturn-type]
 5618 | }
      | ^
work/v512-cw3/src/sbitx_gtk.c:5867:1: warning: non-void function does not return a value [-Wreturn-type]
 5867 | }
      | ^
work/v512-cw3/src/sbitx_gtk.c:5872:1: warning: non-void function does not return a value [-Wreturn-type]
 5872 | }
      | ^
work/v512-cw3/src/sbitx_gtk.c:6413:36: warning: format specifies type 'int' but the argument has type 'char *' [-Wformat]
 6413 |                 printf("mode %d: unavailable\n", umode);
      |                              ~~                  ^~~~~
      |                              %s
work/v512-cw3/src/sbitx_gtk.c:6538:76: warning: passing 'char[1000]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6538 |                 i2cbb_write_i2c_block_data(ZBITX_I2C_ADDRESS, '{', strlen(row_response), row_response);
      |                                                                                          ^~~~~~~~~~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6566:61: warning: passing 'char[30]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6566 |         i2cbb_write_i2c_block_data(0x0a, '{', strlen(smeter_buff), smeter_buff);
      |                                                                    ^~~~~~~~~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6613:75: warning: passing 'char[3000]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6613 |                                         e = i2cbb_write_i2c_block_data(ZBITX_I2C_ADDRESS, '{', strlen(buff), buff);
      |                                                                                                              ^~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6644:24: warning: passing 'char[1000]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6644 |                         strlen(remote_cmd), remote_cmd);
      |                                             ^~~~~~~~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6653:55: warning: passing 'char[3000]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6653 |                 i2cbb_write_i2c_block_data(0x0a, '{', strlen(buff), buff);
      |                                                                     ^~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6660:54: warning: passing 'char[3000]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6660 |         i2cbb_write_i2c_block_data(0x0a, '{', strlen(buff), buff);
      |                                                             ^~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6670:42: warning: passing 'char[3000]' to parameter of type 'uint8_t *' (aka 'unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6670 |         if ((reply_length = i2cbb_read_rll(0xa, buff)) != -1){
      |                                                 ^~~~
work/v512-cw3/src/i2cbb.h:28:54: note: passing argument to parameter 'values' here
   28 | int32_t i2cbb_read_rll(uint8_t i2c_address, uint8_t* values); 
      |                                                      ^
work/v512-cw3/src/sbitx_gtk.c:6806:17: warning: passing 'char[100]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6806 |                 strlen(buff), buff);
      |                               ^~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6813:69: warning: passing 'char[100]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6813 |                 i2cbb_write_i2c_block_data(ZBITX_I2C_ADDRESS, '{', strlen(vbuff), vbuff);
      |                                                                                   ^~~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6830:69: warning: passing 'char[600]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6830 |                 i2cbb_write_i2c_block_data(ZBITX_I2C_ADDRESS, '{', strlen(mbuff), mbuff);
      |                                                                                   ^~~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6848:20: warning: passing 'char[17]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6848 |                 strlen(VER_STR), VER_STR);
      |                                  ^~~~~~~
work/v512-cw3/src/sdr_ui.h:58:17: note: expanded from macro 'VER_STR'
   58 | #define VER_STR "zbitx v5.12s-cw3"
      |                 ^~~~~~~~~~~~~~~~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:6861:20: warning: passing 'char[100]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 6861 |                                         strlen(buff), buff);
      |                                                       ^~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:7178:1: warning: expression result unused [-Wunused-value]
 7178 | +                               set_field("#vswr", buff);
      | ^                               ~~~~~~~~~~~~~~~~~~~~~~~~
work/v512-cw3/src/sbitx_gtk.c:8205:17: warning: too many arguments in call to 'enter_qso'
 8205 |                 enter_qso(args);
      |                 ~~~~~~~~~     ^
work/v512-cw3/src/sbitx_gtk.c:8205:12: warning: passing arguments to 'enter_qso' without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
 8205 |                 enter_qso(args);
      |                          ^
work/v512-cw3/src/sbitx_gtk.c:8307:15: warning: passing arguments to 'telnet_close' without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
 8307 |                 telnet_close(args);
      |                             ^
work/v512-cw3/src/sbitx_gtk.c:8351:61: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
 8351 |                 sprintf(output, "BFO %d offset = %d\n", get_bfo_offset(), result);
      |                                                  ~~                       ^~~~~~
      |                                                  %ld
work/v512-cw3/src/sbitx_gtk.c:8376:69: warning: passing 'char[100]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 8376 |                 i2cbb_write_i2c_block_data(ZBITX_I2C_ADDRESS, '{', strlen(vbuff), vbuff);
      |                                                                                   ^~~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:8407:69: warning: passing 'char[600]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 8407 |                 i2cbb_write_i2c_block_data(ZBITX_I2C_ADDRESS, '{', strlen(mbuff), mbuff);
      |                                                                                   ^~~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:8454:68: warning: passing 'char[64]' to parameter of type 'const uint8_t *' (aka 'const unsigned char *') converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
 8454 |                 i2cbb_write_i2c_block_data(ZBITX_I2C_ADDRESS, '{', strlen(buff), buff);
      |                                                                                  ^~~~
work/v512-cw3/src/i2cbb.h:20:18: note: passing argument to parameter 'values' here
   20 |         const uint8_t * values);
      |                         ^
work/v512-cw3/src/sbitx_gtk.c:8581:41: warning: comparison of array 'freq_field->value' equal to a null pointer is always false [-Wtautological-pointer-compare]
 8581 |                 if (freq_field == NULL || freq_field->value == NULL)
      |                                           ~~~~~~~~~~~~^~~~~    ~~~~
work/v512-cw3/src/sbitx_gtk.c:8594:41: warning: comparison of array 'gain_field->value' equal to a null pointer is always false [-Wtautological-pointer-compare]
 8594 |                 if (gain_field == NULL || gain_field->value == NULL)
      |                                           ~~~~~~~~~~~~^~~~~    ~~~~
42 warnings generated.

sbitx_utils.c

i2c.c
work/v512-cw3/src/i2c.c:80:17: warning: result of comparison of constant 256 with expression of type 'uint8_t' (aka 'unsigned char') is always true [-Wtautological-constant-out-of-range-compare]
   80 |   assert(length < 256);
      |          ~~~~~~ ^ ~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/assert.h:117:11: note: expanded from macro 'assert'
  117 |       if (expr)                                                         \
      |           ^~~~
1 warning generated.

si5351v2.c

ini.c

hamlib.c
work/v512-cw3/src/hamlib.c:103:21: warning: '/*' within block comment [-Wcomment]
  103 |     RIG_OK = 0,     /*!< 0 No error, operation completed successfully 
      |                     ^
work/v512-cw3/src/hamlib.c:104:17: warning: '/*' within block comment [-Wcomment]
  104 | RIG_EINVAL,     /*!< 1 invalid parameter 
      |                 ^
work/v512-cw3/src/hamlib.c:105:17: warning: '/*' within block comment [-Wcomment]
  105 | RIG_ECONF,      /*!< 2 invalid configuration (serial,..) 
      |                 ^
work/v512-cw3/src/hamlib.c:106:17: warning: '/*' within block comment [-Wcomment]
  106 | RIG_ENOMEM,     /*!< 3 memory shortage 
      |                 ^
work/v512-cw3/src/hamlib.c:107:17: warning: '/*' within block comment [-Wcomment]
  107 | RIG_ENIMPL,     /*!< 4 function not implemented, but will be 
      |                 ^
work/v512-cw3/src/hamlib.c:108:17: warning: '/*' within block comment [-Wcomment]
  108 | RIG_ETIMEOUT,   /*!< 5 communication timed out 
      |                 ^
work/v512-cw3/src/hamlib.c:109:17: warning: '/*' within block comment [-Wcomment]
  109 | RIG_EIO,        /*!< 6 IO error, including open failed 
      |                 ^
work/v512-cw3/src/hamlib.c:110:17: warning: '/*' within block comment [-Wcomment]
  110 | RIG_EINTERNAL,  /*!< 7 Internal Hamlib error, huh! 
      |                 ^
work/v512-cw3/src/hamlib.c:111:17: warning: '/*' within block comment [-Wcomment]
  111 | RIG_EPROTO,     /*!< 8 Protocol error 
      |                 ^
work/v512-cw3/src/hamlib.c:112:17: warning: '/*' within block comment [-Wcomment]
  112 | RIG_ERJCTED,    /*!< 9 Command rejected by the rig 
      |                 ^
work/v512-cw3/src/hamlib.c:113:17: warning: '/*' within block comment [-Wcomment]
  113 | RIG_ETRUNC,     /*!< 10 Command performed, but arg truncated 
      |                 ^
work/v512-cw3/src/hamlib.c:114:17: warning: '/*' within block comment [-Wcomment]
  114 | RIG_ENAVAIL,    /*!< 11 Function not available 
      |                 ^
work/v512-cw3/src/hamlib.c:115:17: warning: '/*' within block comment [-Wcomment]
  115 | RIG_ENTARGET,   /*!< 12 VFO not targetable 
      |                 ^
work/v512-cw3/src/hamlib.c:116:17: warning: '/*' within block comment [-Wcomment]
  116 | RIG_BUSERROR,   /*!< 13 Error talking on the bus 
      |                 ^
work/v512-cw3/src/hamlib.c:117:17: warning: '/*' within block comment [-Wcomment]
  117 | RIG_BUSBUSY,    /*!< 14 Collision on the bus 
      |                 ^
work/v512-cw3/src/hamlib.c:118:17: warning: '/*' within block comment [-Wcomment]
  118 | RIG_EARG,       /*!< 15 NULL RIG handle or any invalid pointer parameter in get arg 
      |                 ^
work/v512-cw3/src/hamlib.c:119:17: warning: '/*' within block comment [-Wcomment]
  119 | RIG_EVFO,       /*!< 16 Invalid VFO 
      |                 ^
work/v512-cw3/src/hamlib.c:120:17: warning: '/*' within block comment [-Wcomment]
  120 | RIG_EDOM,       /*!< 17 Argument out of domain of func 
      |                 ^
work/v512-cw3/src/hamlib.c:121:17: warning: '/*' within block comment [-Wcomment]
  121 | RIG_EDEPRECATED,/*!< 18 Function deprecated 
      |                 ^
work/v512-cw3/src/hamlib.c:122:17: warning: '/*' within block comment [-Wcomment]
  122 | RIG_ESECURITY,  /*!< 19 Security error 
      |                 ^
work/v512-cw3/src/hamlib.c:123:17: warning: '/*' within block comment [-Wcomment]
  123 | RIG_EPOWER,     /*!< 20 Rig not powered on 
      |                 ^
work/v512-cw3/src/hamlib.c:124:17: warning: '/*' within block comment [-Wcomment]
  124 | RIG_ELIMIT,     /*!< 21 Limit exceeded 
      |                 ^
work/v512-cw3/src/hamlib.c:160:29: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
  160 |   sprintf(response, "%d\n", get_freq());
      |                      ~~     ^~~~~~~~~~
      |                      %ld
work/v512-cw3/src/hamlib.c:218:5: warning: 'sprintf' will always overflow; destination buffer has size 3, but format string expands to at least 10 [-Wformat-overflow]
  218 |     sprintf(resp, "%f\n", drive);
      |     ^
work/v512-cw3/src/hamlib.c:267:26: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
  267 |         sprintf(cmd, "freq %d", freq);
      |                            ~~   ^~~~
      |                            %ld
25 warnings generated.

queue.c

modems.c
work/v512-cw3/src/modems.c:81:19: warning: passing 'unsigned char[4]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
   81 |   strncat(clrstr, out, sizeof(out));
      |                   ^~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:152:71: note: passing argument to parameter '__src' here
  152 | extern char *strncat (char *__restrict __dest, const char *__restrict __src,
      |                                                                       ^
work/v512-cw3/src/modems.c:81:24: warning: size argument in 'strncat' call appears to be size of the source [-Wstrncat-size]
   81 |   strncat(clrstr, out, sizeof(out));
      |                        ^~~~~~~~~~~
work/v512-cw3/src/modems.c:120:21: warning: passing 'unsigned char[5]' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  120 |     strncat(b64str, out, sizeof(out));
      |                     ^~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:152:71: note: passing argument to parameter '__src' here
  152 | extern char *strncat (char *__restrict __dest, const char *__restrict __src,
      |                                                                       ^
work/v512-cw3/src/modems.c:120:26: warning: size argument in 'strncat' call appears to be size of the source [-Wstrncat-size]
  120 |     strncat(b64str, out, sizeof(out));
      |                          ^~~~~~~~~~~
work/v512-cw3/src/modems.c:292:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  292 |         else if (p = strstr(buff, "<value>")){
      |                  ~~^~~~~~~~~~~~~~~~~~~~~~~~~
work/v512-cw3/src/modems.c:292:13: note: place parentheses around the assignment to silence this warning
  292 |         else if (p = strstr(buff, "<value>")){
      |                    ^                        
      |                  (                          )
work/v512-cw3/src/modems.c:292:13: note: use '==' to turn this assignment into an equality comparison
  292 |         else if (p = strstr(buff, "<value>")){
      |                    ^
      |                    ==
5 warnings generated.

logbook.c
work/v512-cw3/src/logbook.c:102:19: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  102 |                                 strcpy(param, sqlite3_column_text(stmt, i));
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:162:18: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  162 |                                 strcpy(grid, sqlite3_column_text(stmt, i));
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:225:20: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  225 |                                         strcpy(param, sqlite3_column_text(stmt, i));
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:310:2: warning: 'sprintf' will always overflow; destination buffer has size 10, but format string expands to at least 11 [-Wformat-overflow]
  310 |         sprintf(date_str, "%04d-%02d-%02d", tmp->tm_year + 1900, tmp->tm_mon + 1, tmp->tm_mday);
      |         ^
work/v512-cw3/src/logbook.c:433:19: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  433 |                                 strcpy(param, sqlite3_column_text(stmt, i));
      |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:451:6: warning: add explicit braces to avoid dangling else [-Wdangling-else]
  451 |                           else
      |                           ^
work/v512-cw3/src/logbook.c:489:1: warning: non-void function does not return a value [-Wreturn-type]
  489 | }
      | ^
work/v512-cw3/src/logbook.c:943:16: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  943 |                                 strcpy(id, sqlite3_column_text(stmt, i));
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:945:22: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  945 |                                 strcpy(qso_date, sqlite3_column_text(stmt, i));
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:947:22: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  947 |                                 strcpy(qso_time, sqlite3_column_text(stmt, i));
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:949:22: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  949 |                                 strcpy(qso_time, sqlite3_column_text(stmt, i));
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:951:18: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  951 |                                 strcpy(freq, sqlite3_column_text(stmt, i));
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:953:18: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  953 |                                 strcpy(mode, sqlite3_column_text(stmt, i));
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:955:22: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  955 |                                 strcpy(callsign, sqlite3_column_text(stmt, i));
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:957:22: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  957 |                                 strcpy(rst_sent, sqlite3_column_text(stmt, i));
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:959:22: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  959 |                                 strcpy(rst_recv, sqlite3_column_text(stmt, i));
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:961:27: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  961 |                                 strcpy(exchange_sent, sqlite3_column_text(stmt, i));
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:963:27: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  963 |                                 strcpy(exchange_recv, sqlite3_column_text(stmt, i));
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:965:22: warning: passing 'const unsigned char *' to parameter of type 'const char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
  965 |                                 strcpy(comments, sqlite3_column_text(stmt, i));
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
work\toolchain\zig-windows-x86_64-0.13.0\lib\libc\include\generic-glibc/string.h:141:70: note: passing argument to parameter '__src' here
  141 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
      |                                                                      ^
work/v512-cw3/src/logbook.c:974:1: warning: non-void function does not return a value [-Wreturn-type]
  974 | }
      | ^
20 warnings generated.

modem_cw.c

cw_runtime.c

radio_control.c

settings_ui.c

hist_disp.c
work/v512-cw3/src/hist_disp.c:147:1: warning: non-void function does not return a value [-Wreturn-type]
  147 | }
      | ^
1 warning generated.

ntputil.c

telnet.c
work/v512-cw3/src/telnet.c:170:47: warning: format specifies type 'char *' but the argument has type 'void *' [-Wformat]
  170 |                 printf("Telnet: failed to connect to %s\n", server);
      |                                                      ~~     ^~~~~~
work/v512-cw3/src/telnet.c:224:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
  224 | }
      | ^
work/v512-cw3/src/telnet.c:233:1: warning: non-void function does not return a value in all control paths [-Wreturn-type]
  233 | }
      | ^
3 warnings generated.

macros.c

modem_ft8.c
work/v512-cw3/src/modem_ft8.c:456:13: warning: add explicit braces to avoid dangling else [-Wdangling-else]
  456 |             else if (status.unpack_status != 0)
      |             ^
work/v512-cw3/src/modem_ft8.c:454:13: warning: add explicit braces to avoid dangling else [-Wdangling-else]
  454 |             else if (status.crc_calculated != status.crc_extracted)
      |             ^
2 warnings generated.

remote.c

mongoose.c

para_eq.c

webserver.c

eq_ui.c

wifi_panel.c

sbitx.c
work/v512-cw3/src/sbitx.c:348:10: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
  348 |         int m = abs(mag) * 10000000;
      |                 ^
work/v512-cw3/src/sbitx.c:348:10: note: use function 'fabs' instead
  348 |         int m = abs(mag) * 10000000;
      |                 ^~~
      |                 fabs
work/v512-cw3/src/sbitx.c:864:1: warning: non-void function does not return a value [-Wreturn-type]
  864 | }
      | ^
work/v512-cw3/src/sbitx.c:917:1: warning: non-void function does not return a value [-Wreturn-type]
  917 | }
      | ^
work/v512-cw3/src/sbitx.c:1067:12: warning: using integer absolute value function 'abs' when argument is of complex type [-Wabsolute-value]
 1067 |                 sample = abs(r->fft_time[i]) * 1000000;
      |                          ^
work/v512-cw3/src/sbitx.c:1067:12: note: use function 'cabs' instead
 1067 |                 sample = abs(r->fft_time[i]) * 1000000;
      |                          ^~~
      |                          cabs
work/v512-cw3/src/sbitx.c:2297:1: warning: non-void function does not return a value [-Wreturn-type]
 2297 | }
      | ^
work/v512-cw3/src/sbitx.c:2548:1: warning: non-void function does not return a value [-Wreturn-type]
 2548 | }
      | ^
6 warnings generated.
