aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.y
diff options
context:
space:
mode:
Diffstat (limited to 'awkgram.y')
-rw-r--r--awkgram.y26
1 files changed, 10 insertions, 16 deletions
diff --git a/awkgram.y b/awkgram.y
index 80278810..541cebf1 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -57,7 +57,7 @@ static int include_source(INSTRUCTION *file);
static int load_library(INSTRUCTION *file);
static void next_sourcefile(void);
static char *tokexpand(void);
-static NODE *make_profile_number(double d, const char *str, size_t len);
+static NODE *set_profile_text(NODE *n, const char *str, size_t len);
#define instruction(t) bcalloc(t, 1, 0)
@@ -1710,7 +1710,7 @@ non_post_simp_exp
if ($2->opcode == Op_match_rec) {
$2->opcode = Op_nomatch;
$1->opcode = Op_push_i;
- $1->memory = make_profile_number(0.0, "0", 1);
+ $1->memory = set_profile_text(make_number(0.0), "0", 1);
$$ = list_append(list_append(list_create($1),
instruction(Op_field_spec)), $2);
} else {
@@ -4020,12 +4020,7 @@ retry:
errno = 0;
IEEE_FMT(r->mpg_numbr, tval);
}
- yylval->memory = r;
- if (do_pretty_print) {
- yylval->memory->stptr = estrdup(tokstart, strlen(tokstart)-1);
- yylval->memory->stlen = strlen(tokstart)-1;
- yylval->memory->flags |= NUMCONSTSTR;
- }
+ yylval->memory = set_profile_text(r, tokstart, strlen(tokstart)-1);
return lasttok = YNUMBER;
}
#endif
@@ -4033,7 +4028,7 @@ retry:
d = nondec2awknum(tokstart, strlen(tokstart), NULL);
else
d = atof(tokstart);
- yylval->memory = make_profile_number(d, tokstart, strlen(tokstart) - 1);
+ yylval->memory = set_profile_text(make_number(d), tokstart, strlen(tokstart) - 1);
if (d <= INT32_MAX && d >= INT32_MIN && d == (int32_t) d)
yylval->memory->flags |= NUMINT;
return lasttok = YNUMBER;
@@ -4343,7 +4338,7 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
INSTRUCTION *expr;
expr = list_create(instruction(Op_push_i));
- expr->nexti->memory = make_profile_number(0.0, "0", 1);
+ expr->nexti->memory = set_profile_text(make_number(0.0), "0", 1);
(void) mk_expression_list(subn,
list_append(expr, instruction(Op_field_spec)));
}
@@ -4391,7 +4386,7 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
r->sub_flags |= GENSUB;
if (nexp == 3) {
ip = instruction(Op_push_i);
- ip->memory = make_profile_number(0.0, "0", 1);
+ ip->memory = set_profile_text(make_number(0.0), "0", 1);
(void) mk_expression_list(subn,
list_append(list_create(ip), instruction(Op_field_spec)));
}
@@ -4420,7 +4415,7 @@ snode(INSTRUCTION *subn, INSTRUCTION *r)
list = list_create(r);
(void) list_prepend(list, instruction(Op_field_spec));
(void) list_prepend(list, instruction(Op_push_i));
- list->nexti->memory = make_profile_number(0.0, "0", 1);
+ list->nexti->memory = set_profile_text(make_number(0.0), "0", 1);
return list;
} else {
arg = subn->nexti;
@@ -5227,7 +5222,7 @@ mk_binary(INSTRUCTION *s1, INSTRUCTION *s2, INSTRUCTION *op)
}
op->opcode = Op_push_i;
- // We don't need to call make_profile_number() here since
+ // We don't need to call set_profile_text() here since
// optimizing is disabled when doing pretty printing.
op->memory = make_number(res);
unref(n1);
@@ -6291,12 +6286,11 @@ is_identchar(int c)
return (is_alnum(c) || c == '_');
}
-/* make_profile_number --- make a number that can be printed when profiling */
+/* set_profile_text --- make a number that can be printed when profiling */
static NODE *
-make_profile_number(double d, const char *str, size_t len)
+set_profile_text(NODE *n, const char *str, size_t len)
{
- NODE *n = make_number(d);
if (do_pretty_print) {
// extra byte in case need to add minus sign in negate_num
n->stptr = estrdup(str, len + 1);