doc/
authorMarcus Brinkmann <mb@g10code.com>
Sat, 13 Sep 2003 21:45:13 +0000 (21:45 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Sat, 13 Sep 2003 21:45:13 +0000 (21:45 +0000)
2003-09-13  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.texi (Error Strings): Add gpgme_strerror_r.

gpgme/
2003-09-13  Marcus Brinkmann  <marcus@g10code.de>

* gpgme.h (gpgme_strerror_r): New prototype.
* error.c (gpgme_strerror_r): New function.

ChangeLog
NEWS
TODO
configure.ac
doc/ChangeLog
doc/gpgme.texi
gpgme/ChangeLog
gpgme/error.c
gpgme/gpgme.h

index 6e98280da20f58c5419616b503d3946f98f33373..bd56d181b119c127884b99d4b4c8d5ce9fc07268 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2003-09-13  Marcus Brinkmann  <marcus@g10code.de>
 
+       * configure.ac: Require libgpg-error 0.5.
+
        * acinclude.m4: Remove libtool cruft, add jm_GLIBC21.
        * configure.ac: Add check for getenv_r, and call jm_GLIBC21.
        Define HAVE_THREAD_SAFE_GETENV if appropriate.
diff --git a/NEWS b/NEWS
index fca10c69c6de8a476ca3b521d8bfa00638491d50..92e049e613368139293bcb6fdccfdb145010e056 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,9 @@ Noteworthy changes in version 0.4.3 (unreleased)
    variables of course also include the configuration for the thread
    package itself.  Alternatively, use libtool.
 
+ * gpgme_strerror_r as a thread safe variant of gpgme_strerror was
+   added.
+
  * gpgme-config doesn't support setting the prefix or exec prefix
    anymore.  I don't think it ever worked correctly, and it seems to
    be pointless.
@@ -35,8 +38,9 @@ Noteworthy changes in version 0.4.3 (unreleased)
    than an unsigned long (the old class field is preserved for
    backwards compatibility).
 
- * Interface changes relative to the 0.4.3 release:
+ * Interface changes relative to the 0.4.2 release:
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+gpgme_strerror_t               NEW
 gpgme_get_key                  CHANGED: Fails correctly if key ID not unique.
 gpgme_key_t                    EXTENDED: New field can_authenticate.
 gpgme_subkey_t                 EXTENDED: New field can_authenticate.
diff --git a/TODO b/TODO
index 28d5e23d9dd047a43323af7e2a4f5eb0f4167df6..ff60120d966273bfd126198fe9c899bf6577cd13 100644 (file)
--- a/TODO
+++ b/TODO
@@ -2,7 +2,6 @@ Hey Emacs, this is -*- outline -*- mode!
 
 * Before release:
 ** set_locale for thread safe and env independent locale selection.
-** Add gpgme_strerror_r() when gpg_strerror_r() exists.
 
 * ABI's to break:
 ** I/O and User Data could be made extensible.  But this can be done
index c5d2fe6327118a6c105102e9378bfbc79a1c091b..bb30f8be1290bd3bac41cbea2707db10c9f9b9c6 100644 (file)
@@ -173,7 +173,7 @@ if test $have_getenv_r = no && test $have_thread_safe_getenv = no; then
 fi
 
 # Checking for libgpg-error.
-AM_PATH_GPG_ERROR(0.3,, AC_MSG_ERROR([libgpg-error was not found]))
+AM_PATH_GPG_ERROR(0.5,, AC_MSG_ERROR([libgpg-error was not found]))
 AC_DEFINE(GPG_ERR_SOURCE_DEFAULT, GPG_ERR_SOURCE_GPGME,
           [The default error source for GPGME.])
 
index 16586ed42fe3a9dd6e370088e033d35fffef70ec..dd2c2f0273b7aabd03275cb2d0cd2ea61eca3134 100644 (file)
@@ -1,3 +1,7 @@
+2003-09-13  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.texi (Error Strings): Add gpgme_strerror_r.
+
 2003-09-13  Marcus Brinkmann  <marcus@g10code.de>
 
        * gpgme.texi (Multi Threading): Update documentation.
index 30837f9a24f0ad85f7b772d2b120cff927ecaccc..1e00d75259983fe97762c60d2e1d07b56dd61f7c 100644 (file)
@@ -1232,6 +1232,18 @@ The function @code{gpgme_strerror} returns a pointer to a statically
 allocated string containing a description of the error code contained
 in the error value @var{err}.  This string can be used to output a
 diagnostic message to the user.
+
+This function is not thread safe.  Use @code{gpgme_strerror_r} in
+multi-threaded programs.
+@end deftypefun
+
+
+@deftypefun {char *} gpgme_strerror_r (@w{gpgme_error_t @var{err}})
+The function @code{gpgme_strerror_r} returns a pointer to a
+dynamically allocated string containing a description of the error
+code contained in the error value @var{err}.  This string can be used
+to output a diagnostic message to the user.  When it is not needed
+anymore, the user must deallocate it with @code{free}.
 @end deftypefun
 
 
index bc90acea53bdd08d8ef5662ac4dd786d68a61e5c..0e33c914fcc6e7695026fd17ef0f9f61544b54b0 100644 (file)
@@ -1,5 +1,8 @@
 2003-09-13  Marcus Brinkmann  <marcus@g10code.de>
 
+       * gpgme.h (gpgme_strerror_r): New prototype.
+       * error.c (gpgme_strerror_r): New function.
+
        * get-env.c: New file.
        * util.h (_gpgme_getenv): Add prototype.
        * Makefile.am (libgpgme_real_la_SOURCES): Add get-env.c.
index f3c38b1fb9dfd2ab29782b2ba318b56b51a400dc..aac2c2824aec3243a41e7e83fa84309c8aea5341 100644 (file)
@@ -32,6 +32,17 @@ gpgme_strerror (gpgme_error_t err)
 }
 
 
+/* Return a pointer to a string containing a description of the error
+   code in the error value ERR.  The buffer for the string is
+   allocated with malloc(), and has to be released by the user.  On
+   error, NULL is returned.  */
+char *
+gpgme_strerror_r (gpgme_error_t err)
+{
+  return gpg_strerror_r (err);
+}
+
+
 /* Return a pointer to a string containing a description of the error
    source in the error value ERR.  */
 const char *
index 297081066f6cf367be65c49b4b0eca11929fe8db..849521ff97a289767f0c3b9558002680d8070572 100644 (file)
@@ -120,9 +120,15 @@ gpgme_err_source (gpgme_error_t err)
 
 
 /* Return a pointer to a string containing a description of the error
-   code in the error value ERR.  */
+   code in the error value ERR.  This function is not thread safe.  */
 const char *gpgme_strerror (gpgme_error_t err);
 
+/* Return a pointer to a string containing a description of the error
+   code in the error value ERR.  The buffer for the string is
+   allocated with malloc(), and has to be released by the user.  On
+   error, NULL is returned.  */
+char *gpgme_strerror_r (gpgme_error_t err);
+
 
 /* Return a pointer to a string containing a description of the error
    source in the error value ERR.  */