#include "number.h"
#include "variables.h"
#include "calculator.h"
#include "number_formatting.h"
#ifdef MEMWATCH
#include "memwatch.h"
#endif

char *evalvar(const char *varname)
{
    struct answer a;
    char *varvalue, junk;
    Number f;

    a = getvar_full(varname);
    if (!a.err) {
	num_init(f);
	if (a.exp) {		       // it is an expression
	    parseme(a.exp);
	    num_set(f, last_answer);
	} else {		       // it is a value
	    num_set(f, a.val);
	    num_free(a.val);
	}
	varvalue = num_to_str_complex(f, 10, 0, -1, 1, &junk);
	num_free(f);
	return varvalue;
    } else {
	return NULL;
    }
}


syntax highlighted by Code2HTML, v. 0.9.1