576a65b697
Add generic expr code into new expr.c object. The expr.c object will be mainly used in following change that will get rid of the manual flex code, Signed-off-by: Jiri Olsa <jolsa@kernel.org> Reviewed-by: Andi Kleen <ak@linux.intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: John Garry <john.garry@huawei.com> Cc: Kajol Jain <kjain@linux.ibm.com> Cc: Michael Petlan <mpetlan@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com> Link: http://lore.kernel.org/lkml/20200228093616.67125-2-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
20 lines
387 B
C
20 lines
387 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
#include <assert.h>
|
|
#include "expr.h"
|
|
|
|
/* Caller must make sure id is allocated */
|
|
void expr__add_id(struct parse_ctx *ctx, const char *name, double val)
|
|
{
|
|
int idx;
|
|
|
|
assert(ctx->num_ids < MAX_PARSE_ID);
|
|
idx = ctx->num_ids++;
|
|
ctx->ids[idx].name = name;
|
|
ctx->ids[idx].val = val;
|
|
}
|
|
|
|
void expr__ctx_init(struct parse_ctx *ctx)
|
|
{
|
|
ctx->num_ids = 0;
|
|
}
|