aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--awk.h2
-rw-r--r--interpret.h58
-rw-r--r--main.c5
3 files changed, 16 insertions, 49 deletions
diff --git a/awk.h b/awk.h
index e788a5a8..9b72a53c 100644
--- a/awk.h
+++ b/awk.h
@@ -1056,8 +1056,6 @@ extern bool field0_valid;
extern int do_flags;
-extern bool do_old_mem; /* XXX temporary */
-
extern SRCFILE *srcfiles; /* source files */
enum do_flag_values {
diff --git a/interpret.h b/interpret.h
index 2901f60e..b16dc126 100644
--- a/interpret.h
+++ b/interpret.h
@@ -352,16 +352,12 @@ uninitialized_scalar:
lhs = r_get_field(t1, (Func_ptr *) 0, true);
decr_sp();
DEREF(t1);
- if (do_old_mem) {
+ /* only for $0, up ref count */
+ if (*lhs == fields_arr[0]) {
+ r = *lhs;
+ UPREF(r);
+ } else
r = dupnode(*lhs);
- } else {
- /* only for $0, up ref count */
- if (*lhs == fields_arr[0]) {
- r = *lhs;
- UPREF(r);
- } else
- r = dupnode(*lhs);
- }
PUSH(r);
break;
@@ -652,12 +648,8 @@ mod:
}
unref(*lhs);
- if (do_old_mem) {
- *lhs = POP_SCALAR();
- } else {
- r = POP_SCALAR();
- UNFIELD(*lhs, r);
- }
+ r = POP_SCALAR();
+ UNFIELD(*lhs, r);
/* execute post-assignment routine if any */
if (t1->astore != NULL)
@@ -675,21 +667,12 @@ mod:
lhs = get_lhs(pc->memory, false);
unref(*lhs);
r = pc->initval; /* constant initializer */
- if (do_old_mem) {
- if (r == NULL)
- *lhs = POP_SCALAR();
- else {
- UPREF(r);
- *lhs = r;
- }
+ if (r != NULL) {
+ UPREF(r);
+ *lhs = r;
} else {
- if (r != NULL) {
- UPREF(r);
- *lhs = r;
- } else {
- r = POP_SCALAR();
- UNFIELD(*lhs, r);
- }
+ r = POP_SCALAR();
+ UNFIELD(*lhs, r);
}
break;
@@ -705,12 +688,8 @@ mod:
decr_sp();
DEREF(t1);
unref(*lhs);
- if (do_old_mem) {
- *lhs = POP_SCALAR();
- } else {
- r = POP_SCALAR();
- UNFIELD(*lhs, r);
- }
+ r = POP_SCALAR();
+ UNFIELD(*lhs, r);
assert(assign != NULL);
assign();
}
@@ -764,13 +743,8 @@ mod:
lhs = POP_ADDRESS();
r = TOP_SCALAR();
unref(*lhs);
- if (do_old_mem) {
- *lhs = r;
- UPREF(r);
- } else {
- UPREF(r);
- UNFIELD(*lhs, r);
- }
+ UPREF(r);
+ UNFIELD(*lhs, r);
REPLACE(r);
break;
diff --git a/main.c b/main.c
index 69e536f6..1323330c 100644
--- a/main.c
+++ b/main.c
@@ -170,8 +170,6 @@ GETGROUPS_T *groupset; /* current group set */
int ngroups; /* size of said set */
#endif
-bool do_old_mem = false; /* XXX temporary */
-
void (*lintfunc)(const char *mesg, ...) = r_warning;
/* Sorted by long option name! */
@@ -233,9 +231,6 @@ main(int argc, char **argv)
#endif /* HAVE_MTRACE */
#endif /* HAVE_MCHECK_H */
- if (getenv("OLDMEM") != NULL)
- do_old_mem = true; /* XXX temporary */
-
myname = gawk_name(argv[0]);
os_arg_fixup(&argc, &argv); /* emulate redirection, expand wildcards */