Home GnuPG
Diffusion GnuPG fcf5aea44627

gpgscm: Implement tags.
fcf5aea44627Unpublished

Unpublished Commit ยท Learn More

Not On Permanent Ref: This commit is not an ancestor of any permanent ref.

Description

gpgscm: Implement tags.

* tests/gpgscm/opdefines.h: Add opcodes to create and retrieve tags.
* tests/gpgscm/scheme.c (T_TAGGED): New macro.
(mk_tagged_value): New function.
(has_tag): Likewise.
(get_tag): Likewise.
(mark): Mark tag.
(opexe_4): Implement new opcodes.
* tests/gpgscm/scheme.h (USE_TAGS): New macro.

Tags are similar to property lists, but property lists can only be
attached to symbols. Tags can not be attached to an existing object,
but a tagged copy can be created. Once done, the tag can be
manipulated in constant time.

Using this during parsing will enable us to produce meaningful error
messages.

  • Signed-off-by: Justus Winter <justus@g10code.com>

Details

Provenance
justusAuthored on Nov 18 2016, 1:23 PM
Parents
rGa75790b74095: gpg: Fix the fix out-of-bounds access.
Branches
Unknown
Tags
Unknown

Event Timeline

Justus Winter <justus@g10code.com> committed rGfcf5aea44627: gpgscm: Implement tags. (authored by Justus Winter <justus@g10code.com>).Dec 8 2016, 5:15 PM