On Tue, Sep 15 2015, Andy Shevchenko <andriy.shevche...@linux.intel.com> wrote:
> On Tue, 2015-09-15 at 15:55 +0200, Vitaly Kuznetsov wrote: >> +static __init void test_string_get_size_one(u64 size, u64 blk_size, >> + const enum >> string_size_units units, >> + const char *exp_result) >> +{ >> + char buf[16]; >> + >> + string_get_size(size, blk_size, units, buf, sizeof(buf)); >> + if (!memcmp(buf, exp_result, strnlen(exp_result, sizeof(buf) >> - 1) + 1)) > > Actually you don't need to do this +- 1. Either you will have '\0' or > not, it will be checked by memcmp() anyway. > > Thus, > memcmp(buf, exp_result, strnlen(exp_result, sizeof(buf))). Huh? How does that ensure that string_get_size put a '\0' at the right spot? We do need the comparison to also cover the terminating '\0' in exp_result. [It would be nice if we could assert at compile-time that strlen(exp_result) < sizeof(buf).] > Perhaps one line comment here > /* Make sure that buf will be always NULL-terminated */ > >> + buf[sizeof(buf) - 1] = '\0'; <bikeshed>Could we pretty-please use different names for 0 the pointer and 0 the character, say in this case nul or NUL or '\0' or simply 0. Also, I don't see the value of the comment; that line is a totally standard idiom.</bikeshed>. >> + pr_warn("expected: %s, got %s\n", exp_result, buf); > > Here I recommend to use single quotes (just to see empty strings) > > …expected '%s', got '%s'… Good idea. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/