added qse_awk_val_fun_t
This commit is contained in:
parent
d49fd50ecc
commit
7cc9a56d83
@ -315,6 +315,7 @@ struct qse_awk_val_map_data_t
|
|||||||
|
|
||||||
typedef struct qse_awk_val_map_data_t qse_awk_val_map_data_t;
|
typedef struct qse_awk_val_map_data_t qse_awk_val_map_data_t;
|
||||||
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------ */
|
/* ------------------------------------------------------------------------ */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -408,6 +409,13 @@ struct qse_awk_fun_t
|
|||||||
};
|
};
|
||||||
typedef struct qse_awk_fun_t qse_awk_fun_t;
|
typedef struct qse_awk_fun_t qse_awk_fun_t;
|
||||||
|
|
||||||
|
struct qse_awk_val_fun_t
|
||||||
|
{
|
||||||
|
QSE_AWK_VAL_HDR;
|
||||||
|
qse_awk_fun_t* fun;
|
||||||
|
};
|
||||||
|
typedef struct qse_awk_val_fun_t qse_awk_val_fun_t;
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------ */
|
/* ------------------------------------------------------------------------ */
|
||||||
|
|
||||||
typedef qse_awk_flt_t (*qse_awk_math1_t) (
|
typedef qse_awk_flt_t (*qse_awk_math1_t) (
|
||||||
@ -1359,7 +1367,8 @@ enum qse_awk_val_type_t
|
|||||||
QSE_AWK_VAL_REX = 4, /**< regular expression */
|
QSE_AWK_VAL_REX = 4, /**< regular expression */
|
||||||
QSE_AWK_VAL_MAP = 5, /**< map */
|
QSE_AWK_VAL_MAP = 5, /**< map */
|
||||||
|
|
||||||
QSE_AWK_VAL_REF = 6 /**< reference to other types */
|
QSE_AWK_VAL_REF = 6, /**< reference to other types */
|
||||||
|
QSE_AWK_VAL_FUN = 7
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -2486,6 +2495,11 @@ QSE_EXPORT qse_awk_val_t* qse_awk_rtx_makerefval (
|
|||||||
qse_awk_val_t** adr
|
qse_awk_val_t** adr
|
||||||
);
|
);
|
||||||
|
|
||||||
|
QSE_EXPORT qse_awk_val_t* qse_awk_rtx_makefunval (
|
||||||
|
qse_awk_rtx_t* rtx,
|
||||||
|
const qse_awk_fun_t* fun
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The qse_awk_rtx_isstaticval() function determines if a value is static.
|
* The qse_awk_rtx_isstaticval() function determines if a value is static.
|
||||||
* A static value is allocated once and reused until a runtime context @ rtx
|
* A static value is allocated once and reused until a runtime context @ rtx
|
||||||
|
@ -739,6 +739,24 @@ qse_awk_val_t* qse_awk_rtx_makerefval (
|
|||||||
|
|
||||||
return (qse_awk_val_t*)val;
|
return (qse_awk_val_t*)val;
|
||||||
}
|
}
|
||||||
|
qse_awk_val_t* qse_awk_rtx_makefunval (
|
||||||
|
qse_awk_rtx_t* rtx, const qse_awk_fun_t* fun)
|
||||||
|
{
|
||||||
|
qse_awk_val_fun_t* val;
|
||||||
|
|
||||||
|
val = (qse_awk_val_fun_t*) QSE_AWK_ALLOC (
|
||||||
|
rtx->awk, QSE_SIZEOF(qse_awk_val_fun_t));
|
||||||
|
if (val == QSE_NULL)
|
||||||
|
{
|
||||||
|
qse_awk_rtx_seterrnum (rtx, QSE_AWK_ENOMEM, QSE_NULL);
|
||||||
|
return QSE_NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
val->type = QSE_AWK_VAL_FUN;
|
||||||
|
val->fun = fun;
|
||||||
|
|
||||||
|
return (qse_awk_val_t*)val;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* if shared objects link a static library, statically defined objects
|
* if shared objects link a static library, statically defined objects
|
||||||
|
Loading…
Reference in New Issue
Block a user