61 static pthread_mutex_t
mutex = PTHREAD_MUTEX_INITIALIZER;
62 pthread_mutex_lock (& mutex);
64 static char *last_string =
NULL;
65 static TupleEvalContext *last_ctx =
NULL;
66 static TupleEvalNode *last_ev =
NULL;
68 if (! last_string || strcmp (
string, last_string))
79 last_string = g_strdup(
string);
85 buf = g_string_sized_new (255);
90 char * result =
str_get (buf->str);
92 pthread_mutex_unlock (& mutex);
static pthread_mutex_t mutex
TupleEvalNode * tuple_formatter_compile(TupleEvalContext *ctx, const char *expr)
void tuple_evalctx_reset(TupleEvalContext *ctx)
void tuple_evalnode_free(TupleEvalNode *expr)
TupleEvalContext * tuple_evalctx_new(void)
void tuple_formatter_eval(TupleEvalContext *ctx, TupleEvalNode *expr, const Tuple *tuple, GString *out)
void tuple_evalctx_free(TupleEvalContext *ctx)
char * str_get(const char *str)