aboutsummaryrefslogtreecommitdiffstats
path: root/scheme.c
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2017-04-04 10:02:54 +0000
committerJustus Winter <[email protected]>2017-04-10 12:57:28 +0000
commitbe78c20cdd93ed295bfee1aef1e9d2e9253b779c (patch)
treeb430a719a9c5757c9f038ae33e68329176594267 /scheme.c
parentgpgscm: Deduplicate code. (diff)
downloadlibgpg-error-be78c20cdd93ed295bfee1aef1e9d2e9253b779c.tar.gz
libgpg-error-be78c20cdd93ed295bfee1aef1e9d2e9253b779c.zip
gpgscm: Add and use opcode for reversing a list in place.
* tests/gpgscm/lib.scm (string-split-pln): Use 'reverse!'. (string-rtrim): Likewise. * tests/gpgscm/opdefines.h (reverse!): New opcode. * tests/gpgscm/scheme.c (opexe_0): Handle new opcode. Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to '')
-rw-r--r--scheme.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/scheme.c b/scheme.c
index 655c246..f3a99fd 100644
--- a/scheme.c
+++ b/scheme.c
@@ -4682,6 +4682,9 @@ static pointer opexe_0(scheme *sc, enum scheme_opcodes op) {
CASE(OP_REVERSE): /* reverse */
s_return(sc,reverse(sc, sc->NIL, car(sc->args)));
+ CASE(OP_REVERSE_IN_PLACE): /* reverse! */
+ s_return(sc, reverse_in_place(sc, sc->NIL, car(sc->args)));
+
CASE(OP_LIST_STAR): /* list* */
s_return(sc,list_star(sc,sc->args));