Re: [PATCH] linux/string.h: Introduce streq macro.

From: Steven Rostedt
Date: Tue Apr 26 2011 - 15:17:54 EST


On Tue, 2011-04-26 at 22:05 +0300, Alexey Dobriyan wrote:
> On Tue, Apr 26, 2011 at 03:49:49PM -0300, Thiago Farina wrote:
> > --- a/include/linux/string.h
> > +++ b/include/linux/string.h
> > @@ -134,6 +134,17 @@ extern ssize_t memory_read_from_buffer(void *to, size_t count, loff_t *ppos,
> > const void *from, size_t available);
> >
> > /**
> > + * streq - Are two strings equal?
> > + * @a: first string
> > + * @b: second string
> > + *
> > + * Example:
> > + * if (streq(argv[1], "--help"))
> > + * printf("%s\n", "This help");

Userspace example?

> > + */
>
> Oh, come on!
> Next, you're going to explain if statement.

I already have: include/linux/compiler.h

/*
* "Define 'is'", Bill Clinton
* "Define 'if'", Steven Rostedt
*/
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
#define __trace_if(cond) \
if (__builtin_constant_p((cond)) ? !!(cond) : \
({ \
int ______r; \
static struct ftrace_branch_data \
__attribute__((__aligned__(4))) \
__attribute__((section("_ftrace_branch"))) \
______f = { \
.func = __func__, \
.file = __FILE__, \
.line = __LINE__, \
}; \
______r = !!(cond); \
______f.miss_hit[______r]++; \
______r; \
}))

;)

-- Steve

>
> > +#define streq(a, b) (strcmp((a), (b)) == 0)
>
> It should be inline function.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/