make @word to be always on
simplified the return value of I/O handler's open function by eliminating the concept of EOF on opening. enhanced qse_awk_parsestd() to accept an array of qse_awk_parsestd_t for input streams. enhanced cmd/awk/awk.c to handle multiple -f's properly
This commit is contained in:
@ -496,12 +496,19 @@ static int fnc_length (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi)
|
||||
else
|
||||
{
|
||||
v = qse_awk_rtx_getarg (rtx, 0);
|
||||
if (v->type == QSE_AWK_VAL_STR)
|
||||
if (v->type == QSE_AWK_VAL_MAP)
|
||||
{
|
||||
/* map size */
|
||||
len = QSE_HTB_SIZE(((qse_awk_val_map_t*)v)->map);
|
||||
}
|
||||
else if (v->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
/* string length */
|
||||
len = ((qse_awk_val_str_t*)v)->val.len;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* convert to string and get length */
|
||||
str = qse_awk_rtx_valtostrdup (rtx, v, &len);
|
||||
if (str == QSE_NULL) return -1;
|
||||
QSE_AWK_FREE (rtx->awk, str);
|
||||
|
Reference in New Issue
Block a user