"JUL", "AUG", "SEP", "OCT", "NOV", "DEC",
};
- time_t last_vfm_invocation = vfm_last_invocation ();
+ time_t last_proc_time = time_of_last_procedure ();
struct tm *time;
char temp_buf[10];
- time = localtime (&last_vfm_invocation);
+ time = localtime (&last_proc_time);
sprintf (temp_buf, "%02d %s %02d", abs (time->tm_mday) % 100,
months[abs (time->tm_mon) % 12], abs (time->tm_year) % 100);
return expr_allocate_number (e, SYSMIS);
else if (lex_match_id ("$JDATE"))
{
- time_t time = vfm_last_invocation ();
+ time_t time = time_of_last_procedure ();
struct tm *tm = localtime (&time);
return expr_allocate_number (e, expr_ymd_to_ofs (tm->tm_year + 1900,
tm->tm_mon + 1,
}
else if (lex_match_id ("$TIME"))
{
- time_t time = vfm_last_invocation ();
+ time_t time = time_of_last_procedure ();
struct tm *tm = localtime (&time);
return expr_allocate_number (e,
expr_ymd_to_date (tm->tm_year + 1900,
msg (SE, _("%s is not yet implemented."), f->prototype);
goto fail;
}
+ if ((f->flags & OPF_PERM_ONLY) && proc_in_temporary_transformations ())
+ {
+ msg (SE, _("%s may not appear after TEMPORARY."), f->prototype);
+ goto fail;
+ }
n = expr_allocate_composite (e, f - operations, args, arg_cnt);
n->composite.min_valid = min_valid != -1 ? min_valid : f->array_min_elems;
{
union any_node *n = pool_alloc (e->expr_pool, sizeof n->string);
n->type = OP_string;
- if (length > 255)
- length = 255;
+ if (length > MAX_STRING)
+ length = MAX_STRING;
n->string.s = copy_string (e, string, length);
return n;
}