[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH] lib/ukdebug: Separate condition string from format in UK_ASSERT, UK_WARNIF
Hi Simon, Please add an example to clarify the reason behind this fix. Thanks, Costin On 03/19/2018 11:04 AM, Simon Kuenzer wrote: > Whenever a condition expression for UK_ASSERT() and UK_WARNIF() > is not fulfilled, the macros stringify the condition and print > it with uk_printd(). Because this string was handed over with > the format, the modulo operator (%) in the expression causes > formatting errors. > This patch hands over this condition string as separate argument > which will not be processed by uk_printd(). > > Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> > --- > lib/ukdebug/include/uk/assert.h | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/lib/ukdebug/include/uk/assert.h b/lib/ukdebug/include/uk/assert.h > index 70e9e72..8569cdc 100644 > --- a/lib/ukdebug/include/uk/assert.h > +++ b/lib/ukdebug/include/uk/assert.h > @@ -48,7 +48,8 @@ > #define UK_ASSERT(x) \ > do { \ > if (unlikely(!(x))) { \ > - uk_printd(DLVL_CRIT, "Assertion failure: " STRINGIFY(x) > "\n"); \ > + uk_printd(DLVL_CRIT, "Assertion failure: %s\n", \ > + STRINGIFY(x)); \ > /* TODO: stack trace */ \ > ukplat_terminate(UKPLAT_CRASH); \ > } \ > @@ -57,7 +58,8 @@ > #define UK_WARNIF(x) \ > do { \ > if (unlikely(x)) { \ > - uk_printd(DLVL_WARN, "Condition warning: " STRINGIFY(x) > "\n"); \ > + uk_printd(DLVL_WARN, "Condition warning: %s\n", \ > + STRINGIFY(x)); \ > } \ > } while (0) > > _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |