Compare commits
No commits in common. "c8" and "imports/c8-beta/gawk-4.2.1-1.el8" have entirely different histories.
c8
...
imports/c8
@ -1,193 +0,0 @@
|
|||||||
From c1f670b26671cc8d60d967bbcb42cb8deb3baf2b Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Arnold D. Robbins" <arnold@skeeve.com>
|
|
||||||
Date: Tue, 31 Jul 2018 21:40:49 +0300
|
|
||||||
Subject: Fix assigning $0 from a number.
|
|
||||||
|
|
||||||
---
|
|
||||||
ChangeLog | 6 ++++++
|
|
||||||
interpret.h | 1 +
|
|
||||||
test/ChangeLog | 5 +++++
|
|
||||||
test/Makefile.am | 5 ++++-
|
|
||||||
test/Makefile.in | 10 +++++++++-
|
|
||||||
test/Maketests | 5 +++++
|
|
||||||
test/assignnumfield.awk | 1 +
|
|
||||||
test/assignnumfield.in | 5 +++++
|
|
||||||
test/assignnumfield.ok | 5 +++++
|
|
||||||
9 files changed, 41 insertions(+), 2 deletions(-)
|
|
||||||
create mode 100644 test/assignnumfield.awk
|
|
||||||
create mode 100644 test/assignnumfield.in
|
|
||||||
create mode 100644 test/assignnumfield.ok
|
|
||||||
|
|
||||||
diff --git a/ChangeLog b/ChangeLog
|
|
||||||
index 904e984c..68210057 100644
|
|
||||||
--- a/ChangeLog
|
|
||||||
+++ b/ChangeLog
|
|
||||||
@@ -1,3 +1,9 @@
|
|
||||||
+2018-07-31 Arnold D. Robbins <arnold@skeeve.com>
|
|
||||||
+
|
|
||||||
+ * interpret.h (unfield): Add a call to force_string() on
|
|
||||||
+ new value. See test/assignnumfield.awk. Thanks to
|
|
||||||
+ Ralph Corderoy <ralph@inputplus.co.uk> for the bug report.
|
|
||||||
+
|
|
||||||
2018-02-25 Arnold D. Robbins <arnold@skeeve.com>
|
|
||||||
|
|
||||||
* 4.2.1: Release tar ball made.
|
|
||||||
diff --git a/interpret.h b/interpret.h
|
|
||||||
index 8408a532..fed0078c 100644
|
|
||||||
--- a/interpret.h
|
|
||||||
+++ b/interpret.h
|
|
||||||
@@ -46,16 +46,25 @@ unfield(NODE **l, NODE **r)
|
|
||||||
* valref 1, that effectively means that this is an assignment like "$n = $n",
|
|
||||||
* so a no-op, other than triggering $0 reconstitution.
|
|
||||||
*/
|
|
||||||
-#define UNFIELD(l, r) \
|
|
||||||
-{ \
|
|
||||||
- /* if was a field, turn it into a var */ \
|
|
||||||
- if ((r->flags & MALLOC) != 0 || r->valref == 1) { \
|
|
||||||
- l = r; \
|
|
||||||
- } else { \
|
|
||||||
- l = dupnode(r); \
|
|
||||||
- DEREF(r); \
|
|
||||||
- } \
|
|
||||||
-}
|
|
||||||
+// not a macro so we can step into it with a debugger
|
|
||||||
+#ifndef UNFIELD_DEFINED
|
|
||||||
+#define UNFIELD_DEFINED 1
|
|
||||||
+static inline void
|
|
||||||
+unfield(NODE **l, NODE **r)
|
|
||||||
+{
|
|
||||||
+ /* if was a field, turn it into a var */
|
|
||||||
+ if (((*r)->flags & MALLOC) != 0 || (*r)->valref == 1) {
|
|
||||||
+ (*l) = (*r);
|
|
||||||
+ } else {
|
|
||||||
+ (*l) = dupnode(*r);
|
|
||||||
+ DEREF(*r);
|
|
||||||
+ }
|
|
||||||
+ force_string(*l);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#define UNFIELD(l, r) unfield(& (l), & (r))
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
int
|
|
||||||
r_interpret(INSTRUCTION *code)
|
|
||||||
{
|
|
||||||
diff --git a/test/ChangeLog b/test/ChangeLog
|
|
||||||
index 392d593b..2af89e66 100644
|
|
||||||
--- a/test/ChangeLog
|
|
||||||
+++ b/test/ChangeLog
|
|
||||||
@@ -1,3 +1,8 @@
|
|
||||||
+2018-07-31 Arnold D. Robbins <arnold@skeeve.com>
|
|
||||||
+
|
|
||||||
+ * Makefile.am (EXTRA_DIST): Add assignnumfield files.
|
|
||||||
+ * assignnumfield.awk, assignnumfield.in, assignnumfield.ok: New files.
|
|
||||||
+
|
|
||||||
2018-02-25 Arnold D. Robbins <arnold@skeeve.com>
|
|
||||||
|
|
||||||
* 4.2.1: Release tar ball made.
|
|
||||||
diff --git a/test/Makefile.am b/test/Makefile.am
|
|
||||||
index e6f1e223..774424f7 100644
|
|
||||||
--- a/test/Makefile.am
|
|
||||||
+++ b/test/Makefile.am
|
|
||||||
@@ -121,6 +121,9 @@ EXTRA_DIST = \
|
|
||||||
asort.ok \
|
|
||||||
asorti.awk \
|
|
||||||
asorti.ok \
|
|
||||||
+ assignnumfield.awk \
|
|
||||||
+ assignnumfield.in \
|
|
||||||
+ assignnumfield.ok \
|
|
||||||
awkpath.ok \
|
|
||||||
back89.awk \
|
|
||||||
back89.in \
|
|
||||||
@@ -1235,7 +1238,7 @@ BASIC_TESTS = \
|
|
||||||
addcomma anchgsub anchor argarray arrayind1 arrayind2 arrayind3 arrayparm \
|
|
||||||
arrayprm2 arrayprm3 arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 \
|
|
||||||
arynasty arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
|
|
||||||
- aryprm8 aryprm9 arysubnm aryunasgn asgext awkpath \
|
|
||||||
+ aryprm8 aryprm9 arysubnm aryunasgn asgext awkpath assignnumfield \
|
|
||||||
back89 backgsub badassign1 badbuild \
|
|
||||||
callparam childin clobber closebad clsflnam compare compare2 \
|
|
||||||
concat1 concat2 concat3 concat4 concat5 convfmt \
|
|
||||||
diff --git a/test/Makefile.in b/test/Makefile.in
|
|
||||||
index 532aca07..69b86d07 100644
|
|
||||||
--- a/test/Makefile.in
|
|
||||||
+++ b/test/Makefile.in
|
|
||||||
@@ -379,6 +379,9 @@ EXTRA_DIST = \
|
|
||||||
asort.ok \
|
|
||||||
asorti.awk \
|
|
||||||
asorti.ok \
|
|
||||||
+ assignnumfield.awk \
|
|
||||||
+ assignnumfield.in \
|
|
||||||
+ assignnumfield.ok \
|
|
||||||
awkpath.ok \
|
|
||||||
back89.awk \
|
|
||||||
back89.in \
|
|
||||||
@@ -1493,7 +1496,7 @@ BASIC_TESTS = \
|
|
||||||
addcomma anchgsub anchor argarray arrayind1 arrayind2 arrayind3 arrayparm \
|
|
||||||
arrayprm2 arrayprm3 arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 \
|
|
||||||
arynasty arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
|
|
||||||
- aryprm8 aryprm9 arysubnm aryunasgn asgext awkpath \
|
|
||||||
+ aryprm8 aryprm9 arysubnm aryunasgn asgext awkpath assignnumfield \
|
|
||||||
back89 backgsub badassign1 badbuild \
|
|
||||||
callparam childin clobber closebad clsflnam compare compare2 \
|
|
||||||
concat1 concat2 concat3 concat4 concat5 convfmt \
|
|
||||||
@@ -2787,6 +2790,11 @@ asgext:
|
|
||||||
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
|
||||||
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
|
|
||||||
|
|
||||||
+assignnumfield:
|
|
||||||
+ @echo $@
|
|
||||||
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
|
||||||
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
|
|
||||||
+
|
|
||||||
back89:
|
|
||||||
@echo $@
|
|
||||||
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
|
||||||
diff --git a/test/Maketests b/test/Maketests
|
|
||||||
index 8c604222..eb7c4651 100644
|
|
||||||
--- a/test/Maketests
|
|
||||||
+++ b/test/Maketests
|
|
||||||
@@ -140,6 +140,11 @@ asgext:
|
|
||||||
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
|
||||||
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
|
|
||||||
|
|
||||||
+assignnumfield:
|
|
||||||
+ @echo $@
|
|
||||||
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
|
||||||
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
|
|
||||||
+
|
|
||||||
back89:
|
|
||||||
@echo $@
|
|
||||||
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
|
|
||||||
diff --git a/test/assignnumfield.awk b/test/assignnumfield.awk
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..3a056cb0
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/test/assignnumfield.awk
|
|
||||||
@@ -0,0 +1 @@
|
|
||||||
+{$0 = ++i} 1
|
|
||||||
diff --git a/test/assignnumfield.in b/test/assignnumfield.in
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..b82c4b2d
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/test/assignnumfield.in
|
|
||||||
@@ -0,0 +1,5 @@
|
|
||||||
+a b c
|
|
||||||
+a b c
|
|
||||||
+a b c
|
|
||||||
+a b c
|
|
||||||
+a b c
|
|
||||||
diff --git a/test/assignnumfield.ok b/test/assignnumfield.ok
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..8a1218a1
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/test/assignnumfield.ok
|
|
||||||
@@ -0,0 +1,5 @@
|
|
||||||
+1
|
|
||||||
+2
|
|
||||||
+3
|
|
||||||
+4
|
|
||||||
+5
|
|
||||||
--
|
|
||||||
cgit v1.2.1
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
diff --git a/io.c b/io.c
|
|
||||||
index 1d440c1..07d8368 100644
|
|
||||||
--- a/io.c
|
|
||||||
+++ b/io.c
|
|
||||||
@@ -2599,7 +2599,7 @@ wait_any(int interesting) /* pid of interest, if any */
|
|
||||||
for (redp = red_head; redp != NULL; redp = redp->next)
|
|
||||||
if (interesting == redp->pid) {
|
|
||||||
redp->pid = -1;
|
|
||||||
- redp->status = status;
|
|
||||||
+ redp->status = sanitize_exit_status(status);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -2629,7 +2629,7 @@ wait_any(int interesting) /* pid of interest, if any */
|
|
||||||
for (redp = red_head; redp != NULL; redp = redp->next)
|
|
||||||
if (pid == redp->pid) {
|
|
||||||
redp->pid = -1;
|
|
||||||
- redp->status = status;
|
|
||||||
+ redp->status = sanitize_exit_status(status);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
@ -44,7 +44,7 @@
|
|||||||
Name: gawk
|
Name: gawk
|
||||||
Summary: The GNU version of the AWK text processing utility
|
Summary: The GNU version of the AWK text processing utility
|
||||||
Version: 4.2.1
|
Version: 4.2.1
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
License: GPLv3+ and GPLv2+ and LGPLv2+ and BSD
|
License: GPLv3+ and GPLv2+ and LGPLv2+ and BSD
|
||||||
|
|
||||||
@ -69,7 +69,6 @@ BuildRequires: gcc
|
|||||||
BuildRequires: grep
|
BuildRequires: grep
|
||||||
BuildRequires: ghostscript
|
BuildRequires: ghostscript
|
||||||
|
|
||||||
BuildRequires: automake
|
|
||||||
# Extending GAWK possibilities:
|
# Extending GAWK possibilities:
|
||||||
BuildRequires: libsigsegv-devel
|
BuildRequires: libsigsegv-devel
|
||||||
BuildRequires: mpfr-devel
|
BuildRequires: mpfr-devel
|
||||||
@ -104,8 +103,7 @@ BuildRequires: bison
|
|||||||
# Upstream patches -- official upstream patches released by upstream since the
|
# Upstream patches -- official upstream patches released by upstream since the
|
||||||
# ---------------- last rebase that are necessary for any reason:
|
# ---------------- last rebase that are necessary for any reason:
|
||||||
#Patch000: example000.patch
|
#Patch000: example000.patch
|
||||||
Patch000: assign-int.patch
|
|
||||||
Patch001: proc-rv.patch
|
|
||||||
|
|
||||||
# Downstream patches -- these should be always included when doing rebase:
|
# Downstream patches -- these should be always included when doing rebase:
|
||||||
# ------------------
|
# ------------------
|
||||||
@ -179,7 +177,6 @@ git commit --all --amend --no-edit > /dev/null
|
|||||||
# ---------------
|
# ---------------
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf
|
|
||||||
%configure
|
%configure
|
||||||
%make_build
|
%make_build
|
||||||
|
|
||||||
@ -257,18 +254,6 @@ install -m 0644 -p doc/gawkinet.{pdf,ps} %{buildroot}%{_docdir}/%{name}
|
|||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Feb 11 2022 Jakub Martisko <jamartis@redhat.com> - 4.2.1-4
|
|
||||||
- Rebuild with some gating tests disabled
|
|
||||||
Resolves: rhbz#2053515
|
|
||||||
|
|
||||||
* Thu Feb 10 2022 Jakub Martisko <jamartis@redhat.com> - 4.2.1-3
|
|
||||||
Fix the issue with an incorect handling of return code of some processes
|
|
||||||
Resolves: rhbz#2018077
|
|
||||||
|
|
||||||
* Tue Nov 24 2020 Jakub Martisko <jamartis@redhat.com> - 4.2.1-2
|
|
||||||
- Fix an issue with an int() value not being assigned to a variable
|
|
||||||
Resolves: #1893370
|
|
||||||
|
|
||||||
* Mon Feb 26 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.2.1-1
|
* Mon Feb 26 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 4.2.1-1
|
||||||
- Rebase to latest stable release from upstream
|
- Rebase to latest stable release from upstream
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user