aboutsummaryrefslogtreecommitdiffstats
path: root/tests/gpgscm/scheme.c
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2016-11-23 11:27:41 +0000
committerJustus Winter <[email protected]>2016-11-23 11:51:56 +0000
commit005d326d19ba28005182205f25edc4f7499ec0b5 (patch)
tree6f7603d64030914153eef1792f60b8ac851d78ee /tests/gpgscm/scheme.c
parentgpgscm: Clean sweeped cells. (diff)
downloadgnupg-005d326d19ba28005182205f25edc4f7499ec0b5.tar.gz
gnupg-005d326d19ba28005182205f25edc4f7499ec0b5.zip
gpgscm: Make 'reverse' compatible with 'reverse_in_place'.
* tests/gpgscm/scheme.c (reverse): Update prototype, add terminator argument. (opexe_4): Update callsite. Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'tests/gpgscm/scheme.c')
-rw-r--r--tests/gpgscm/scheme.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/tests/gpgscm/scheme.c b/tests/gpgscm/scheme.c
index d088931e4..866654862 100644
--- a/tests/gpgscm/scheme.c
+++ b/tests/gpgscm/scheme.c
@@ -409,7 +409,7 @@ static void printatom(scheme *sc, pointer l, int f);
static pointer mk_proc(scheme *sc, enum scheme_opcodes op);
static pointer mk_closure(scheme *sc, pointer c, pointer e);
static pointer mk_continuation(scheme *sc, pointer d);
-static pointer reverse(scheme *sc, pointer a);
+static pointer reverse(scheme *sc, pointer term, pointer list);
static pointer reverse_in_place(scheme *sc, pointer term, pointer list);
static pointer revappend(scheme *sc, pointer a, pointer b);
static void dump_stack_mark(scheme *);
@@ -2356,9 +2356,9 @@ static pointer list_star(scheme *sc, pointer d) {
}
/* reverse list -- produce new list */
-static pointer reverse(scheme *sc, pointer a) {
+static pointer reverse(scheme *sc, pointer term, pointer list) {
/* a must be checked by gc */
- pointer p = sc->NIL;
+ pointer a = list, p = term;
for ( ; is_pair(a); a = cdr(a)) {
p = cons(sc, car(a), p);
@@ -4148,7 +4148,7 @@ static pointer opexe_4(scheme *sc, enum scheme_opcodes op) {
}
CASE(OP_REVERSE): /* reverse */
- s_return(sc,reverse(sc, car(sc->args)));
+ s_return(sc,reverse(sc, sc->NIL, car(sc->args)));
CASE(OP_LIST_STAR): /* list* */
s_return(sc,list_star(sc,sc->args));