[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH 3/4] lib/nolibc: fix some of checkpatch issues for sscanf
Florian Schmidt <florian@xxxxxxxxx> writes: > I would've also fixed the following: > > WARNING: break is not useful after a goto or return > #156: FILE: lib/nolibc/sscanf.c:156: > + goto doswitch; > + break; I guess this is left here because of the consistency of the switch-case. To indicate that the case is over, and there is no "pass through". The construction is weird, I agree. I believe there is a way to get rid of this goto, but I'd rather not touch this code, because I can not do a proper testing. > > > But at that point, we get into personal preference territory. > > On 07/27/2018 05:29 PM, Yuri Volchkov wrote: >> Signed-off-by: Yuri Volchkov <yuri.volchkov@xxxxxxxxx> > > Reviewed-by: Florian Schmidt <florian.schmidt@xxxxxxxxx> > >> --- >> lib/nolibc/sscanf.c | 37 ++++++++++++++++++++++--------------- >> 1 file changed, 22 insertions(+), 15 deletions(-) >> >> diff --git a/lib/nolibc/sscanf.c b/lib/nolibc/sscanf.c >> index 149bfbd..5e016fa 100644 >> --- a/lib/nolibc/sscanf.c >> +++ b/lib/nolibc/sscanf.c >> @@ -48,7 +48,7 @@ __FBSDID("$FreeBSD$"); >> */ >> #include <machine/stdarg.h> >> >> -#define BUF 32 /* Maximum length of numeric string. */ >> +#define BUF 32 /* Maximum length of numeric string. */ >> >> /* >> * Flags used during conversion. >> @@ -105,7 +105,7 @@ __sccl(char *tab, const u_char *fmt) >> >> /* XXX: Will not work if sizeof(tab*) > sizeof(char) */ >> for (n = 0; n < 256; n++) >> - tab[n] = v; /* memset(tab, v, 256) */ >> + tab[n] = v; /* memset(tab, v, 256) */ >> >> if (c == 0) >> return (fmt - 1);/* format ended before closing ] */ >> @@ -154,7 +154,7 @@ doswitch: >> fmt++; >> /* fill in the range */ >> do { >> - tab[++c] = v; >> + tab[++c] = v; >> } while (c < n); >> c = n; >> /* >> @@ -196,11 +196,13 @@ vsscanf(const char *inp, char const *fmt0, va_list ap) >> char buf[BUF]; /* buffer for numeric conversions */ >> >> /* `basefix' is used to avoid `if' tests in the integer scanner */ >> - static short basefix[17] = >> - { 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; >> + static short basefix[17] = { >> + 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, >> + 10, 11, 12, 13, 14, 15, 16 >> + }; >> >> inr = strlen(inp); >> - >> + >> nassigned = 0; >> nconversions = 0; >> nread = 0; >> @@ -239,7 +241,7 @@ literal: >> flags |= SUPPRESS; >> goto again; >> case 'l': >> - if (flags & LONG){ >> + if (flags & LONG) { >> flags &= ~LONG; >> flags |= QUAD; >> } else { >> @@ -250,7 +252,7 @@ literal: >> flags |= QUAD; >> goto again; >> case 'h': >> - if (flags & SHORT){ >> + if (flags & SHORT) { >> flags &= ~SHORT; >> flags |= SHORTSHORT; >> } else { >> @@ -352,7 +354,7 @@ literal: >> nread++; >> if (--inr > 0) >> inp++; >> - else >> + else >> goto input_failure; >> } >> /* >> @@ -373,6 +375,7 @@ literal: >> width = 1; >> if (flags & SUPPRESS) { >> size_t sum = 0; >> + >> for (;;) { >> if ((n = inr) < width) { >> sum += n; >> @@ -510,9 +513,13 @@ literal: >> flags |= PFXOK; >> } >> if (flags & NZDIGITS) >> - flags &= ~(SIGNOK|NZDIGITS|NDIGITS); >> + flags &= ~(SIGNOK | >> + NZDIGITS | >> + NDIGITS); >> else >> - flags &= ~(SIGNOK|PFXOK|NDIGITS); >> + flags &= ~(SIGNOK | >> + PFXOK | >> + NDIGITS); >> goto ok; >> >> /* 1 through 7 always legal */ >> @@ -564,14 +571,14 @@ literal: >> * for a number. Stop accumulating digits. >> */ >> break; >> - ok: >> +ok: >> /* >> * c is legal: store it and look at the next. >> */ >> *p++ = c; >> if (--inr > 0) >> inp++; >> - else >> + else >> break; /* end of input */ >> } >> /* >> @@ -630,9 +637,9 @@ sscanf(const char *ibuf, const char *fmt, ...) >> { >> va_list ap; >> int ret; >> - >> + >> va_start(ap, fmt); >> ret = vsscanf(ibuf, fmt, ap); >> va_end(ap); >> - return(ret); >> + return ret; >> } >> > > _______________________________________________ > Minios-devel mailing list > Minios-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/mailman/listinfo/minios-devel -- Yuri Volchkov Software Specialist NEC Europe Ltd Kurfürsten-Anlage 36 D-69115 Heidelberg _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |