mirror of git://git.gnupg.org/gnupg.git
gpgscm: Fix compact vector encoding.
* tests/gpgscm/scheme-private.h (struct cell): Use uintptr_t for '_flags'. This way, '_flags' has the size of a machine word. -- The compact vector representation introduced in49e2ae65
requires that we can tell apart pointers and type flags. This did not work on 64-bit big-endian architectures. Fixes a crash on 64-bit big-endian architectures. Hat-tip-to: gniibe Fixes-commit:49e2ae65e8
Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
9c9fde1495
commit
bf8b5e9042
|
@ -3,6 +3,7 @@
|
|||
#ifndef _SCHEME_PRIVATE_H
|
||||
#define _SCHEME_PRIVATE_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "scheme.h"
|
||||
/*------------------ Ugly internals -----------------------------------*/
|
||||
/*------------------ Of interest only to FFI users --------------------*/
|
||||
|
@ -42,7 +43,7 @@ typedef struct port {
|
|||
|
||||
/* cell structure */
|
||||
struct cell {
|
||||
unsigned int _flag;
|
||||
uintptr_t _flag;
|
||||
union {
|
||||
struct {
|
||||
char *_svalue;
|
||||
|
|
Loading…
Reference in New Issue