markmcconnell / mai

Mark's AES67 Implementation
BSD 3-Clause "New" or "Revised" License
95 stars 22 forks source link

Error in sap.c #2

Open bvanpoortvliet opened 5 years ago

bvanpoortvliet commented 5 years ago

This is my first time filing an issue, so please be mercyful :).

When trying to compile on Linux ubuntu 4.18.0-17-generic #18~18.04.1-Ubuntu I got the following error:

sap.c: In function ‘sap’: sap.c:41:20: error: this statement may fall through [-Werror=implicit-fallthrough=] case 4000: ptime = (mai.args.rate == 44100) ? "4.35" : "4";


sap.c:42:3: note: here
   case 1000: ptime = (mai.args.rate == 44100) ? "1.09" : "1";
   ^~~~
sap.c:42:20: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case 1000: ptime = (mai.args.rate == 44100) ? "1.09" : "1";
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sap.c:43:3: note: here
   case  333: ptime = (mai.args.rate == 44100) ? "0.36" : "0.33";
   ^~~~
sap.c:43:20: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  333: ptime = (mai.args.rate == 44100) ? "0.36" : "0.33";
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sap.c:44:3: note: here
   case  250: ptime = (mai.args.rate == 44100) ? "0.27" : "0.25";
   ^~~~
sap.c:44:20: error: this statement may fall through [-Werror=implicit-fallthrough=]
   case  250: ptime = (mai.args.rate == 44100) ? "0.27" : "0.25";
              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sap.c:45:3: note: here
   case  125: ptime = (mai.args.rate == 44100) ? "0.13" : "0.12";
   ^~~~
cc1: all warnings being treated as errors
<builtin>: recipe for target 'sap.o' failed
make: *** [sap.o] Error 1

I got it to compile by adding brake statements like below:

      switch (mai.args.ptime) {
                case 4000: ptime = (mai.args.rate == 44100) ? "4.35" : "4"; break;
                case 1000: ptime = (mai.args.rate == 44100) ? "1.09" : "1"; break;
                case  333: ptime = (mai.args.rate == 44100) ? "0.36" : "0.33"; break;
                case  250: ptime = (mai.args.rate == 44100) ? "0.27" : "0.25"; break;
                case  125: ptime = (mai.args.rate == 44100) ? "0.13" : "0.12";

I hope this was helpful.
edglazer commented 5 years ago

FWIW, looks like someone forked the repo a while back and fixed this by adding the suggested lines to the makefile. Their change is listed here: https://github.com/OneB1t/mai/commit/94f29d5213fb95d87e9c74c44fe3cd8a98c8e1d7

frankleonrose commented 1 year ago

Fixed actual errors, rather than simply silencing the warning as suggested above, in 0d4c4fd.