/****************************************************************************
- * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
#include <term.h>
#include <tic.h>
-MODULE_ID("$Id: lib_tparm.c,v 1.72 2006/12/30 20:14:43 tom Exp $")
+MODULE_ID("$Id: lib_tparm.c,v 1.74 2007/09/29 20:37:13 tom Exp $")
/*
* char *
* resulting in x mod y, not the reverse.
*/
-#define STACKSIZE 20
-
-typedef struct {
- union {
- int num;
- char *str;
- } data;
- bool num_type;
-} stack_frame;
-
NCURSES_EXPORT_VAR(int) _nc_tparm_err = 0;
-#define NUM_VARS 26
-
-typedef struct {
-#ifdef TRACE
- const char *tname;
-#endif
- const char *tparam_base;
-
- stack_frame stack[STACKSIZE];
- int stack_ptr;
-
- char *out_buff;
- size_t out_size;
- size_t out_used;
-
- char *fmt_buff;
- size_t fmt_size;
-
- int dynamic_var[NUM_VARS];
- int static_vars[NUM_VARS];
-} tparm_state;
-
-static tparm_state tps;
-
-#define TPS(var) tps.var
+#define TPS(var) _nc_prescreen.tparm_state.var
#if NO_LEAKS
NCURSES_EXPORT(void)
npush(param[i]);
}
#ifdef TRACE
- if (_nc_tracing & TRACE_CALLS) {
+ if (USE_TRACEF(TRACE_CALLS)) {
for (i = 0; i < popcount; i++) {
if (p_is_s[i] != 0)
save_text(", %s", _nc_visbuf(p_is_s[i]), 0);
}
_tracef(T_CALLED("%s(%s%s)"), TPS(tname), _nc_visbuf(cp), TPS(out_buff));
TPS(out_used) = 0;
+ _nc_unlock_global(tracef);
}
#endif /* TRACE */