1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Fix many GCC -Wimplicit-fallthrough warnings (#243)

This commit adds '/* FALLTHROUGH */' comments to fix many
GCC warnings when compiling with -Wimplicit-fallthrough.
Additionally, the existing fallthrough comments have been
changed for consistency.
This commit is contained in:
Johnothan King 2021-03-30 13:49:20 -07:00 committed by GitHub
parent f30da49564
commit ed478ab7e3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
73 changed files with 271 additions and 158 deletions

View file

@ -128,7 +128,7 @@ int b_getopts(int argc,char *argv[],Shbltin_t *context)
if(mode==0)
errormsg(SH_DICT,ERROR_usage(2), "%s", opt_info.arg);
opt_info.option[1] = '?';
/* FALL THRU */
/* FALLTHROUGH */
case ':':
key[0] = opt_info.option[1];
if(strmatch(opt_info.arg,"*unknown*"))

View file

@ -89,6 +89,7 @@ int b_hist(int argc,char *argv[], Shbltin_t *context)
range[++indx] = flag;
break;
}
/* FALLTHROUGH */
case ':':
errormsg(SH_DICT,2, "%s", opt_info.arg);
break;

View file

@ -716,7 +716,7 @@ static int extend(Sfio_t* sp, void* v, Sffmt_t* fe)
break;
case 'q':
format = 's';
/* FALL THROUGH */
/* FALLTHROUGH */
case 's':
case 'H':
case 'B':
@ -798,6 +798,7 @@ static int extend(Sfio_t* sp, void* v, Sffmt_t* fe)
fe->flags |=SFFMT_ALTER;
}
}
/* FALLTHROUGH */
case 'b':
case 's':
case 'B':
@ -837,12 +838,14 @@ static int extend(Sfio_t* sp, void* v, Sffmt_t* fe)
case 'u':
case 'U':
longmax = LDBL_ULLONG_MAX;
/* FALLTHROUGH */
case '.':
if(fe->size==2 && strchr("bcsqHPRQTZ",*fe->form))
{
value->ll = ((unsigned char*)argp)[0];
break;
}
/* FALLTHROUGH */
case 'd':
case 'D':
case 'i':
@ -1096,6 +1099,7 @@ static int fmtvecho(const char *string, struct printf *pp)
c <<= 3;
c |= (*cp-'0');
}
/* FALLTHROUGH */
default:
cp--;
}

View file

@ -599,6 +599,7 @@ int sh_readline(register Shell_t *shp,char **names, volatile int fd, int flags,s
case S_ERR:
cp++;
/* FALLTHROUGH */
case S_EOF:
/* check for end of buffer */
if(val && *val)
@ -660,7 +661,7 @@ int sh_readline(register Shell_t *shp,char **names, volatile int fd, int flags,s
#endif /* SHOPT_MULTIBYTE */
if(c!=S_DELIM)
break;
/* FALL THRU */
/* FALLTHROUGH */
case S_DELIM:
if(!del)
@ -671,7 +672,7 @@ int sh_readline(register Shell_t *shp,char **names, volatile int fd, int flags,s
while((c=shp->ifstable[*cp++])==S_SPACE);
break;
}
/* FALL THRU */
/* FALLTHROUGH */
case 0:
if(val==0 || was_escape)

View file

@ -166,7 +166,7 @@ int b_test(int argc, char *argv[],Shbltin_t *context)
if(!not)
break;
argv++;
/* fall through */
/* FALLTHROUGH */
case 4:
{
register int op = sh_lookup(cp=argv[2],shtab_testops);
@ -434,6 +434,7 @@ int test_unop(Shell_t *shp,register int op,register const char *arg)
return(*arg == 0);
case 's':
sfsync(sfstdout);
/* FALLTHROUGH */
case 'O':
case 'G':
if(*arg==0 || test_stat(arg,&statb)<0)

View file

@ -211,6 +211,7 @@ int b_kill(int argc,char *argv[],Shbltin_t *context)
goto endopts;
case 'L':
usemenu = -1;
/* FALLTHROUGH */
case 'l':
flag |= L_FLAG;
break;

View file

@ -256,6 +256,7 @@ int b_typeset(int argc,register char *argv[],Shbltin_t *context)
tdata.argnum = (int)opt_info.num;
break;
}
/* FALLTHROUGH */
case 'F':
case 'X':
if(!opt_info.arg || (tdata.argnum = opt_info.num) <0)
@ -1230,6 +1231,7 @@ static int unall(int argc, char **argv, register Dt_t *troot, Shell_t* shp)
break;
case 'n':
nflag = NV_NOREF;
/* FALLTHROUGH */
case 'v':
troot = shp->var_tree;
break;

View file

@ -109,7 +109,7 @@ int b_whence(int argc,char *argv[],Shbltin_t *context)
{
case 'a':
flags |= A_FLAG;
/* FALL THRU */
/* FALLTHROUGH */
case 'v':
flags |= V_FLAG;
break;

View file

@ -190,7 +190,7 @@ static char *find_begin(char outbuff[], char *last, int endchar, int *type)
case '~':
if(*cp=='(')
break;
/* fall through */
/* FALLTHROUGH */
default:
if(c && c==endchar)
return(xp);

View file

@ -692,7 +692,7 @@ void ed_setup(register Edit_t *ep, int fd, int reedit)
case '\r':
if(pp == (ep->e_prompt+2)) /* quote char */
myquote = *(pp-1);
/*FALLTHROUGH*/
/* FALLTHROUGH */
case '\n':
/* start again */

View file

@ -566,6 +566,7 @@ update:
case KILLCHAR :
cur = 0;
oadjust = -1;
/* FALLTHROUGH */
case cntl('K') :
if(oadjust >= 0)
{
@ -983,6 +984,7 @@ static int escape(register Emacs_t* ep,register genchar *out,int count)
if(ch=='\n')
ed_ungetchar(ep->ed,'\n');
#endif /* SHOPT_EDPREDICT */
/* FALLTHROUGH */
/* file name expansion */
case ESC :
#if SHOPT_EDPREDICT
@ -1001,6 +1003,7 @@ static int escape(register Emacs_t* ep,register genchar *out,int count)
}
#endif /* SHOPT_EDPREDICT */
i = '\\'; /* filename completion */
/* FALLTHROUGH */
case '*': /* filename expansion */
case '=': /* escape = - list all matching file names */
ep->mark = cur;
@ -1144,6 +1147,7 @@ static int escape(register Emacs_t* ep,register genchar *out,int count)
ed_ungetchar(ep->ed,i);
}
i = '_';
/* FALLTHROUGH */
default:
/* look for user defined macro definitions */

View file

@ -250,6 +250,7 @@ int hist_expand(const char *ln, char **xp)
if(!isdigit(*(cp+1)))
goto string_event;
cp++;
/* FALLTHROUGH */
case '0': /* reference by number */
case '1':
case '2':
@ -273,6 +274,7 @@ int hist_expand(const char *ln, char **xp)
case '?':
cp++;
flag |= HIST_QUESTION;
/* FALLTHROUGH */
string_event:
default:
/* read until end of string or word designator/modifier */
@ -376,6 +378,7 @@ getline:
sfseek(wm, 0, SEEK_SET);
goto skip;
}
/* FALLTHROUGH */
default:
skip2:
cp--;

View file

@ -836,6 +836,7 @@ static int cntlmode(Vi_t *vp)
case BAD:
/*** no match ***/
ed_ringbell();
/* FALLTHROUGH */
default:
if( vp->u_column == INVALID )
@ -956,6 +957,7 @@ static int cntlmode(Vi_t *vp)
if(vp->repeat_set==0)
goto vcommand;
#endif /* KSHELL */
/* FALLTHROUGH */
case 'G': /** goto command repeat **/
if(vp->repeat_set==0)
@ -1014,11 +1016,13 @@ static int cntlmode(Vi_t *vp)
}
refresh(vp,INPUT);
}
/* FALLTHROUGH */
case '\n': /** send to shell **/
#if SHOPT_EDPREDICT
if(!vp->ed->hlist)
return(ENTER);
return(ENTER);
/* FALLTHROUGH */
case '\t': /** bring choice to edit **/
if(vp->ed->hlist)
{
@ -1045,6 +1049,7 @@ static int cntlmode(Vi_t *vp)
if(c=='[')
continue;
}
/* FALLTHROUGH */
default:
ringbell:
ed_ringbell();
@ -1519,6 +1524,7 @@ static void getline(register Vi_t* vp,register int mode)
if( cur_virt != INVALID )
continue;
vp->addnl = 0;
/* FALLTHROUGH */
case '\n': /** newline or return **/
if( mode != SEARCH )
@ -1552,7 +1558,7 @@ static void getline(register Vi_t* vp,register int mode)
}
vp->ed->e_tabcount = 0;
}
/* FALL THRU*/
/* FALLTHROUGH */
default:
if( mode == REPLACE )
{
@ -1610,7 +1616,7 @@ static int mvcursor(register Vi_t* vp,register int motion)
tcur_virt = vp->repeat-1;
if(tcur_virt <= last_virt)
break;
/* fall through */
/* FALLTHROUGH */
case '$': /** End of line **/
tcur_virt = last_virt;
@ -1748,6 +1754,7 @@ static int mvcursor(register Vi_t* vp,register int motion)
case 'f': /** find new char forward **/
bound = last_virt;
incr = 1;
/* FALLTHROUGH */
case 'T': /** find up to new char backward **/
case 'F': /** find new char backward **/
@ -2444,10 +2451,12 @@ addin:
if(vp->ed->e_tabcount!=1)
return(BAD);
c = '=';
/* FALLTHROUGH */
case '*': /** do file name expansion in place **/
case '\\': /** do file name completion in place **/
if( cur_virt == INVALID )
return(BAD);
/* FALLTHROUGH */
case '=': /** list file name expansions **/
save_v(vp);
i = last_virt;
@ -2528,10 +2537,12 @@ addin:
while(i = *p++);
return(APPEND);
}
/* FALLTHROUGH */
case 'A': /** append to end of line **/
cur_virt = last_virt;
sync_cursor(vp);
/* FALLTHROUGH */
case 'a': /** append **/
if( fold(mode) == 'A' )
@ -2551,6 +2562,7 @@ addin:
case 'I': /** insert at beginning of line **/
cur_virt = first_virt;
sync_cursor(vp);
/* FALLTHROUGH */
case 'i': /** insert **/
if( fold(mode) == 'I' )
@ -2627,6 +2639,7 @@ deleol:
vp->ocur_virt = INVALID;
--cur_virt;
}
/* FALLTHROUGH */
case 'p': /** print **/
if( p[0] == '\0' )

View file

@ -216,13 +216,13 @@ int sh_argopts(int argc,register char *argv[], void *context)
ap->kiafile = opt_info.arg;
n = 'n';
}
/*FALLTHROUGH*/
#endif /* SHOPT_KIA */
#if SHOPT_REGRESS
goto skip;
case 'I':
continue;
#endif /* SHOPT_REGRESS */
/* FALLTHROUGH */
skip:
default:
if(cp=strchr(optksh,n))

View file

@ -157,7 +157,7 @@ int _fcmbget(short *len)
{
case -1:
*len = 1;
/* fall through */
/* FALLTHROUGH */
case 0:
case 1:
c=fcget();

View file

@ -470,7 +470,7 @@ int sh_lex(Lex_t* lp)
return(lp->token=EOFSYM);
n = S_NLTOK;
shp->inlineno--;
/* FALL THRU */
/* FALLTHROUGH */
case S_NLTOK:
/* check for here-document */
if(lp->heredoc)
@ -491,7 +491,7 @@ int sh_lex(Lex_t* lp)
}
lp->lex.reservok = !lp->lex.intest;
lp->lex.skipword = 0;
/* FALL THRU */
/* FALLTHROUGH */
case S_NL:
/* skip over new-lines */
lp->lex.last_quote = 0;
@ -502,6 +502,7 @@ int sh_lex(Lex_t* lp)
lp->comp_assign = 0;
return(lp->token='\n');
}
/* FALLTHROUGH */
case S_BLNK:
if(lp->lex.incase<=TEST_RE)
continue;
@ -686,7 +687,7 @@ int sh_lex(Lex_t* lp)
case S_NAME:
if(!lp->lex.skipword)
lp->lex.reservok *= 2;
/* FALL THRU */
/* FALLTHROUGH */
case S_TILDE:
if(c=='~' && mode==ST_NESTED)
{
@ -697,6 +698,7 @@ int sh_lex(Lex_t* lp)
}
continue;
}
/* FALLTHROUGH */
case S_RES:
if(!lp->lexd.dolparen)
lp->lexd.first = fcseek(0)-LEN;
@ -808,7 +810,7 @@ int sh_lex(Lex_t* lp)
wordflags |=(ARG_MAC|ARG_EXP);
if(mode==ST_QUOTE)
ingrave = !ingrave;
/* FALL THRU */
/* FALLTHROUGH */
case S_QUOTE:
if(oldmode(lp)==ST_NONE && lp->lexd.arith) /* in ((...)) */
{
@ -914,10 +916,11 @@ int sh_lex(Lex_t* lp)
setchar(lp,c);
continue;
}
/* FALL THRU */
/* FALLTHROUGH */
case S_ALP:
if(c=='.' && endchar(lp)=='$')
goto err;
/* FALLTHROUGH */
case S_SPC2:
case S_DIG:
wordflags |= ARG_MAC;
@ -938,9 +941,11 @@ int sh_lex(Lex_t* lp)
case '!':
if(n!=S_ALP)
goto dolerr;
/* FALLTHROUGH */
case '#':
if(c=='#')
n = S_ALP;
/* FALLTHROUGH */
case RBRACE:
if(n==S_ALP)
{
@ -1150,7 +1155,7 @@ int sh_lex(Lex_t* lp)
continue;
case S_EQ:
assignment = lp->assignok;
/* FALL THRU */
/* FALLTHROUGH */
case S_COLON:
if(assignment)
{
@ -1254,7 +1259,7 @@ int sh_lex(Lex_t* lp)
}
case S_PAT:
wordflags |= ARG_EXP;
/* FALL THRU */
/* FALLTHROUGH */
case S_EPAT:
epat:
if(fcgetc(n)==LPAREN && c!='[')
@ -1419,7 +1424,7 @@ breakloop:
case TEST_SEQ:
if(lp->lexd.warn && state[1]==0)
errormsg(SH_DICT,ERROR_warn(0),e_lexobsolete3,shp->inlineno);
/* FALL THRU */
/* FALLTHROUGH */
default:
if(lp->lex.testop2)
{
@ -1434,7 +1439,7 @@ breakloop:
lp->token = TESTBINOP;
return(lp->token);
}
/* FALLTHROUGH */
case TEST_OR: case TEST_AND:
case 0:
return(lp->token=0);
@ -1649,7 +1654,7 @@ static int comsub(register Lex_t *lp, int endtok)
goto rbrace;
if(c>0)
fcseek(-LEN);
/* fall through */
/* FALLTHROUGH */
default:
lp->lex.reservok = 1;
}

View file

@ -390,7 +390,7 @@ void sh_machere(Shell_t *shp,Sfio_t *infile, Sfio_t *outfile, char *string)
case S_EOF:
if((c=fcfill()) > 0)
goto again;
/* FALL THRU */
/* FALLTHROUGH */
default:
regular:
sfputc(outfile,'$');
@ -464,6 +464,7 @@ static void copyto(register Mac_t *mp,int endch, int newquote)
case -1: /* illegal multi-byte char */
case 0:
len = 1;
/* FALLTHROUGH */
case 1:
n = state[*(unsigned char*)cp++];
break;
@ -643,6 +644,7 @@ static void copyto(register Mac_t *mp,int endch, int newquote)
goto pattern;
continue;
}
/* FALLTHROUGH */
case S_EOF:
if(c)
{
@ -667,6 +669,7 @@ static void copyto(register Mac_t *mp,int endch, int newquote)
case S_QUOTE:
if(mp->lit || mp->arith)
break;
/* FALLTHROUGH */
case S_LIT:
if(mp->arith)
{
@ -729,6 +732,7 @@ static void copyto(register Mac_t *mp,int endch, int newquote)
cp = first = fcseek(0);
break;
}
/* FALLTHROUGH */
case S_PAT:
if(mp->pattern && !(mp->quote || mp->lit))
{
@ -1102,7 +1106,7 @@ retry1:
/* This code handles ${#} */
c = mode;
mode = type = 0;
/* FALL THRU */
/* FALLTHROUGH */
case S_SPC1:
if(type==M_BRACE)
{
@ -1129,7 +1133,7 @@ retry1:
goto retry1;
}
}
/* FALL THRU */
/* FALLTHROUGH */
case S_SPC2:
var = 0;
*id = c;

View file

@ -769,10 +769,12 @@ Namval_t *nv_create(const char *name, Dt_t *root, int flags, Namfun_t *dp)
sp = (char*)name+c;
c = '.';
}
/* FALLTHROUGH */
skip:
case '+':
case '=':
*sp = 0;
/* FALLTHROUGH */
case 0:
isref = 0;
dp->last = cp;

View file

@ -501,7 +501,7 @@ static Shnode_t *sh_cmd(Lex_t *lexp, register int sym, int flag)
{
case COOPSYM: /* set up a cooperating process */
type |= (FPIN|FPOU|FPCL|FCOOP);
/* FALL THRU */
/* FALLTHROUGH */
case '&':
if(left)
{
@ -510,7 +510,7 @@ static Shnode_t *sh_cmd(Lex_t *lexp, register int sym, int flag)
left = left->par.partre;
left = makeparent(lexp,TFORK|type, left);
}
/* FALL THRU */
/* FALLTHROUGH */
case ';':
if(!left)
sh_syntax(lexp);
@ -520,6 +520,7 @@ static Shnode_t *sh_cmd(Lex_t *lexp, register int sym, int flag)
case EOFSYM:
if(sym==NL)
break;
/* FALLTHROUGH */
default:
if(sym && sym!=lexp->token)
{
@ -1304,7 +1305,7 @@ static Shnode_t *item(Lex_t *lexp,int flag)
default:
if(io==0)
return(0);
/* FALLTHROUGH */
case ';':
if(io==0)
{
@ -1314,6 +1315,7 @@ static Shnode_t *item(Lex_t *lexp,int flag)
sh_syntax(lexp);
showme = FSHOWME;
}
/* FALLTHROUGH */
/* simple command */
case 0:
t = (Shnode_t*)simple(lexp,flag,io);

View file

@ -1218,11 +1218,12 @@ pid_t path_spawn(Shell_t *shp,const char *opath,register char **argv, char **env
#endif
}
}
/* FALL THROUGH */
#ifdef ENAMETOOLONG
/* FALLTHROUGH */
case ENAMETOOLONG:
#endif /* ENAMETOOLONG */
#if !SHOPT_SUID_EXEC
/* FALLTHROUGH */
case EPERM:
#endif
shp->path_err = errno;
@ -1242,6 +1243,7 @@ pid_t path_spawn(Shell_t *shp,const char *opath,register char **argv, char **env
errormsg(SH_DICT,ERROR_system(ERROR_NOEXEC),"command -x: could not execute %s",path);
return(pid);
}
/* FALLTHROUGH */
default:
errormsg(SH_DICT,ERROR_system(ERROR_NOEXEC),e_exec,path);
}

View file

@ -238,6 +238,7 @@ Sfdouble_t arith_exec(Arith_t *ep)
continue;
case A_ASSIGNOP1:
node.emode |= ARITH_ASSIGNOP;
/* FALLTHROUGH */
case A_PUSHV:
cp = roundptr(ep,cp,Sfdouble_t*);
dp = *((Sfdouble_t**)cp);
@ -282,6 +283,7 @@ Sfdouble_t arith_exec(Arith_t *ep)
continue;
case A_ASSIGNOP:
node.nosub = lastsub;
/* FALLTHROUGH */
case A_STORE:
cp = roundptr(ep,cp,Sfdouble_t*);
dp = *((Sfdouble_t**)cp);
@ -532,7 +534,7 @@ static int gettok(register struct vars *vp)
op = A_DIG;
else
op = A_REG;
/*FALL THRU*/
/* FALLTHROUGH */
case A_DIG: case A_REG: case A_LIT:
keep:
ungetchr(vp);
@ -551,10 +553,10 @@ static int gettok(register struct vars *vp)
op -= 2;
break;
}
/* FALL THRU */
/* FALLTHROUGH */
case A_NOT: case A_COLON:
c = '=';
/* FALL THRU */
/* FALLTHROUGH */
case A_ASSIGN:
case A_TIMES:
case A_PLUS: case A_MINUS:
@ -608,7 +610,7 @@ again:
case A_PLUSPLUS:
c = A_LVALUE;
op = A_INCR|T_NOFLOAT;
/* FALL THRU */
/* FALLTHROUGH */
case A_TILDE:
op |= T_NOFLOAT;
common:
@ -762,6 +764,7 @@ again:
case A_MINUSMINUS:
wasop=0;
op |= T_NOFLOAT;
/* FALLTHROUGH */
case A_ASSIGN:
if(!lvalue.value)
ERROR(vp,e_notlvalue);
@ -827,7 +830,7 @@ again:
case A_AND: case A_OR: case A_XOR: case A_LSHIFT:
case A_RSHIFT: case A_MOD:
op |= T_NOFLOAT;
/* FALL THRU */
/* FALLTHROUGH */
case A_PLUS: case A_MINUS: case A_TIMES: case A_DIV:
case A_EQ: case A_NEQ: case A_LT: case A_LE:
case A_GT: case A_GE: case A_POW:

View file

@ -572,7 +572,7 @@ static void out_pattern(Sfio_t *iop, register const char *cp, int n)
case '\\':
if (!(c = *++cp))
c = '\\';
/*FALLTHROUGH*/
/* FALLTHROUGH */
case ' ':
case '<': case '>': case ';':
case '$': case '`': case '\t':
@ -1558,6 +1558,7 @@ int sh_exec(register const Shnode_t *t, int flags)
break;
}
}
/* FALLTHROUGH */
case TFORK:
{
register pid_t parent;
@ -1821,6 +1822,7 @@ int sh_exec(register const Shnode_t *t, int flags)
sh_done(shp,0);
}
}
/* FALLTHROUGH */
case TSETIO:
{