aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-03-31 22:35:15 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-03-31 22:35:15 +0300
commitbbeeb351c73fb1ee4ff20c3774e0477e9e8a7513 (patch)
tree95f926cd9bf02578e9c860726a56441ac00e95b2 /eval.c
parenteb53fb0398911202d4361b869eefa6c1449ebec8 (diff)
parent902b25a40d5cc612dd7a0becb27a5a48afa49716 (diff)
downloadegawk-bbeeb351c73fb1ee4ff20c3774e0477e9e8a7513.tar.gz
egawk-bbeeb351c73fb1ee4ff20c3774e0477e9e8a7513.tar.bz2
egawk-bbeeb351c73fb1ee4ff20c3774e0477e9e8a7513.zip
Merge branch 'master' into feature/regex-type
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index bdf3d61c..7dd6a12b 100644
--- a/eval.c
+++ b/eval.c
@@ -25,7 +25,6 @@
#include "awk.h"
-extern void after_beginfile(IOBUF **curfile);
extern double pow(double x, double y);
extern double modf(double x, double *yp);
extern double fmod(double x, double y);
@@ -1027,6 +1026,7 @@ update_ERRNO_int(int errcode)
{
char *cp;
+ update_PROCINFO_num("errno", errcode);
if (errcode) {
cp = strerror(errcode);
cp = gettext(cp);
@@ -1041,6 +1041,7 @@ update_ERRNO_int(int errcode)
void
update_ERRNO_string(const char *string)
{
+ update_PROCINFO_num("errno", 0);
unref(ERRNO_node->var_value);
ERRNO_node->var_value = make_string(string, strlen(string));
}
@@ -1050,6 +1051,7 @@ update_ERRNO_string(const char *string)
void
unset_ERRNO(void)
{
+ update_PROCINFO_num("errno", 0);
unref(ERRNO_node->var_value);
ERRNO_node->var_value = dupnode(Nnull_string);
}
@@ -1182,7 +1184,7 @@ r_get_lhs(NODE *n, bool reference)
/* r_get_field --- get the address of a field node */
-static inline NODE **
+NODE **
r_get_field(NODE *n, Func_ptr *assign, bool reference)
{
long field_num;