enhanced eval_getline() in awk.

fixed a bug in awk's printf().
fixed a bug of not incrementing NR and FNR in awk's getline().
added some MPI stuffs
This commit is contained in:
2012-09-10 09:55:22 +00:00
parent efcccc05e7
commit 9cc8d6f76d
9 changed files with 320 additions and 188 deletions

View File

@ -1191,6 +1191,16 @@ struct qse_awk_rtx_valtostr_out_t
};
typedef struct qse_awk_rtx_valtostr_out_t qse_awk_rtx_valtostr_out_t;
/* record filter using NR */
struct qse_awk_nrflt_t
{
qse_long_t limit;
qse_long_t size;
qse_long_t rank;
};
typedef struct qse_awk_nrflt_t qse_awk_nrflt_t;
#ifdef __cplusplus
extern "C" {
#endif
@ -2369,6 +2379,26 @@ int qse_awk_rtx_strtonum (
qse_flt_t* r /**< stores a converted floating-poing number */
);
/**
* The qse_awk_rtx_hashval() functions hashes a simple value
* to a positive integer. It returns -1 for a inhashable value.
*/
qse_long_t qse_awk_rtx_hashval (
qse_awk_rtx_t* rtx,
qse_awk_val_t* v
);
void qse_awk_rtx_setnrflt (
qse_awk_rtx_t* rtx,
const qse_awk_nrflt_t* nrflt
);
void qse_awk_rtx_getnrflt (
qse_awk_rtx_t* rtx,
qse_awk_nrflt_t* nrflt
);
/**
* The qse_awk_rtx_allocmem() function allocats a memory block of @a size bytes
* using the memory manager associated with a runtime context @a rtx.