
/* This file was automatically generated by pclu.*/

#include "pclu_err.h"
#include "pclu_sys.h"


extern struct dbg_info* dbg_info__time_format;
#undef MY_TRACE_FLAG
#define MY_TRACE_FLAG _time_format_TRACE
int _time_format_TRACE;
extern struct OPS *int_ops;
static Vlist1 owns__time_format = {0, 1,{ {0, 2, "_init", &int_ops}
}
};
extern errcode intOPadd();
extern errcode intOPdiv();
extern errcode stringOPconcat();
extern errcode intOPunparse();
extern errcode stringOPrest();
extern errcode intOPmod();
extern OWN_req int_ownreqs;
CLUREF STR__056;
CLUREF STR__040seconds;
static int _time_format_own_init = 0;

/**** BEGIN PROCEDURE _time_format ****/

errcode _time_format(sec, msec, usec, ret_1)
CLUREF sec;
CLUREF msec;
CLUREF usec;
CLUREF *ret_1;
    {
    struct {
        struct dbg_info *DBG_INFO;
        int DBG_LINE;
        errcode err;
        errcode ecode2;
        CLUREF sec;
        CLUREF msec;
        CLUREF usec;
        } locals;
    locals.sec.num = UNINIT;
    locals.msec.num = UNINIT;
    locals.usec.num = UNINIT;
    locals.DBG_INFO = dbg_info__time_format;
    locals.sec = sec;
    locals.msec = msec;
    locals.usec = usec;
        if (_time_format_own_init == 0) {
        stringOPcons(".", CLU_1, CLU_1, &STR__056);
        stringOPcons(" seconds", CLU_1, CLU_8, &STR__040seconds);
        _time_format_own_init = 1;
    }
    enter_proc(3);

  LINE(4);
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    T_1_1.num = 499;
    locals.err = intOPadd(locals.usec, T_1_1, &T_1_2);
    if (locals.err != ERR_ok) goto ex_0;
    T_1_3.num = 1000;
    locals.err = intOPdiv(T_1_2, T_1_3, &T_1_4);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = intOPadd(locals.msec, T_1_4, &T_1_5);
    if (locals.err != ERR_ok) goto ex_0;
    locals.msec.num = T_1_5.num;
    }

  LINE(5);
    {
    {
    CLUREF T_1_1;
    CLUREF T_1_2;
    CLUREF T_1_3;
    CLUREF T_1_4;
    CLUREF T_1_5;
    CLUREF T_1_6;
    CLUREF T_1_7;
    CLUREF T_1_8;
    CLUREF T_1_9;
    CLUREF T_1_10;
    CLUREF T_1_11;
    CLUREF T_1_12;
    CLUREF T_1_13;
    T_1_1.num = 1000;
    locals.err = intOPdiv(locals.msec, T_1_1, &T_1_2);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = intOPadd(locals.sec, T_1_2, &T_1_3);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = intOPunparse(T_1_3, &T_1_4);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = stringOPconcat(T_1_4, STR__056, &T_1_5);
    if (locals.err != ERR_ok) goto ex_0;
    T_1_6.num = 1000;
    locals.err = intOPmod(locals.msec, T_1_6, &T_1_7);
    if (locals.err != ERR_ok) goto ex_0;
    T_1_8.num = 1000;
    locals.err = intOPadd(T_1_7, T_1_8, &T_1_9);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = intOPunparse(T_1_9, &T_1_10);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = stringOPrest(T_1_10, CLU_2, &T_1_11);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = stringOPconcat(T_1_5, T_1_11, &T_1_12);
    if (locals.err != ERR_ok) goto ex_0;
    locals.err = stringOPconcat(T_1_12, STR__040seconds, &T_1_13);
    if (locals.err != ERR_ok) goto ex_0;
    ret_1->num = T_1_13.num;
    }
    {signal (ERR_ok);}}
    goto end_0;
    ex_0:
        {
            if (locals.err == ERR_failure) {signal(ERR_failure);}
            elist[0] = _pclu_erstr(locals.err);
            {signal(ERR_failure);}
        }
    end_0: elist[0].str = no_return_values_STRING;
        {signal(ERR_failure);}
    }

/**** END PROCEDURE _time_format ****/

extern struct OPS *string_ops;
typedef struct {
    int hdr;
    int count;
    char *name;
    char *fname;
    bool is_iter;
    int is_parmd;
    int addr;
    int nargs;
    Vlist1 *vals;
    siglist0 *sigs;
    Vlist5 *locals;
    Vlist1 *owns;
    Vlist0 *ptowns;
    Vlist0 *popowns;
    Slist0 *type_formals;
    Slist0 *op_formals;
    } dbg_info__time_format_actual;
static Vlist1 vals__time_format = {0, 1, { {0, 2, "", &string_ops}}
};
static siglist0 sigs__time_format = {0, 0};
static Vlist5 locals__time_format = {0, 5,{ {0, 2, "err", &int_ops},  {0, 2, "ecode2", &int_ops},  {0, 2, "sec", &int_ops},  {0, 2, "msec", &int_ops},  {0, 2, "usec", &int_ops}}
};
static Vlist0 popowns__time_format = {0, 0};
Slist0 tformals__time_format = {0, 0};
Slist0 opformals__time_format = {0, 0};
dbg_info__time_format_actual dbg_info__time_format_data = {0, 12, 
    "_time_format", "/common/pub/dcurtis-temp/pclu/lib/clu/_time_format.clu", 0, 0, (int)_time_format, 3, 
    &vals__time_format, &sigs__time_format, &locals__time_format, &owns__time_format, &NO_VALS, &NO_VALS, &NO_PARMS, &NO_PARMS};
    struct dbg_info *dbg_info__time_format = (struct dbg_info*)&dbg_info__time_format_data;
