Noteworthy changes in version 0.4.4 (unreleased)
------------------------------------------------
+ * The member "class" in gpgme_key_sig_t and gpgme_new_signature_t has
+ been renamed to "sig_class", to avoid clash with C++ compilers. In
+ the C API, the old name "class" has been preserved for backwards
+ compatibility, but is deprecated.
+
+ * Interface changes relative to the 0.4.3 release:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+gpgme_key_sig_t CHANGED: class deprecated, use new sig_class.
+gpgme_new_signature_t CHANGED: class deprecated, use new sig_class.
+
+
Noteworthy changes in version 0.4.3 (2003-10-06)
------------------------------------------------
+2003-12-25 Marcus Brinkmann <marcus@g10code.de>
+
+ * gpgme.texi (Key Management): Rename member class in
+ gpgme_key_sig_t to sig_class.
+ (Creating a Signature): Likewise for gpgme_signature_t.
+
2003-12-23 Moritz Schulte <mo@g10code.com>
* gpgme.texi (Listing Keys): Minor clarification for
This is the status of the signature and has the same meaning as the
member of the same name in a @code{gpgme_signature_t} object.
-@item unsigned int class
+@item unsigned int sig_class
This specifies the signature class of the key signature. The meaning
is specific to the crypto engine.
@item gpgme_hash_algo_t
The hash algorithm used to create this signature.
-@item unsigned int class
+@item unsigned int sig_class
The signature class of this signature.
@item long int timestamp
+2003-12-25 Marcus Brinkmann <marcus@g10code.de>
+
+ * gpgme.h (_GPGME_D_CLASS): Revert this change.
+ (struct _gpgme_key_sig): For C++ compilers, rename class
+ member to _obsolete_class. Add new member sig_class.
+ (struct _gpgme_new_signature): Same here.
+ * key.c (gpgme_key_sig_get_ulong_attr): Use CERTSIG->sig_class,
+ not CERTSIG->class.
+ * keylist.c (keylist_colon_handler): Likewise for KEYSIG, but keep
+ setting KEYSIG->class, too. Rename variable CLASS to SIG_CLASS.
+ * sign.c (parse_sig_created): Set SIG->sig_class.
+
2003-12-22 Werner Koch <wk@gnupg.org>
* gpgme.h (_GPGME_D_CLASS): Kludge for C++ compatibility without
#if 0 /* just to make Emacs auto-indent happy */
}
#endif
-/* Keyword renaming for the sake of C doubleplus. */
-#define _GPGME_D_CLASS clazz
-#else
-#define _GPGME_D_CLASS class
#endif /* __cplusplus */
#include <gpg-error.h>
/* Same as in gpgme_signature_t. */
gpgme_error_t status;
- /* Crypto backend specific signature class. */
- unsigned int _GPGME_D_CLASS;
+#ifdef __cplusplus
+ unsigned int _obsolete_class _GPGME_DEPRECATED;
+#else
+ /* Must be set to SIG_CLASS below. */
+ unsigned int class _GPGME_DEPRECATED;
+#endif
/* The user ID string. */
char *uid;
/* The comment part of the user ID. */
char *comment;
+
+ /* Crypto backend specific signature class. */
+ unsigned int sig_class;
};
typedef struct _gpgme_key_sig *gpgme_key_sig_t;
/* The fingerprint of the signature. */
char *fpr;
+#ifdef __cplusplus
+ unsigned int _obsolete_class_2;
+#else
+ /* Must be set to SIG_CLASS below. */
+ unsigned int class _GPGME_DEPRECATED;
+#endif
+
/* Crypto backend specific signature class. */
- unsigned int _GPGME_D_CLASS;
+ unsigned int sig_class;
};
typedef struct _gpgme_new_signature *gpgme_new_signature_t;
return certsig->expired;
case GPGME_ATTR_SIG_CLASS:
- return certsig->class;
+ return certsig->sig_class;
case GPGME_ATTR_SIG_STATUS:
return certsig->status;
if (fields >= 11)
if (field[10][0] && field[10][1])
{
- int class = _gpgme_hextobyte (field[10]);
- if (class >= 0)
+ int sig_class = _gpgme_hextobyte (field[10]);
+ if (sig_class >= 0)
{
- keysig->class = class;
- if (class == 0x30)
+ keysig->sig_class = sig_class;
+ keysig->class = keysig->sig_class;
+ if (sig_class == 0x30)
keysig->revoked = 1;
}
if (field[10][2] == 'x')
}
args = tail;
- sig->class = strtol (args, &tail, 0);
- sig->_obsolete_class = sig->class;
+ sig->sig_class = strtol (args, &tail, 0);
+ sig->class = sig->sig_class;
+ sig->_obsolete_class = sig->sig_class;
if (errno || args == tail || *tail != ' ')
{
/* The crypto backend does not behave. */